NetBSD Problem Report #32450

From root@warp.sudog.com  Wed Jan  4 03:13:35 2006
Return-Path: <root@warp.sudog.com>
Received: from warp.sudog.com (S010600500480af12.gv.shawcable.net [24.108.196.12])
	by narn.netbsd.org (Postfix) with ESMTP id 1B9B663B8CD
	for <gnats-bugs@gnats.NetBSD.org>; Wed,  4 Jan 2006 03:13:35 +0000 (UTC)
Message-Id: <200601040313.k043DYCj000676@warp.sudog.com>
Date: Tue, 3 Jan 2006 19:13:34 -0800 (PST)
From: netbsdMLpostNO@SPAM.quake.ca
Reply-To: gnats-bugs@netbsd.org
To: gnats-bugs@netbsd.org
Subject: non-pci, pure 486-happy isa kernel doesn't depend/make
X-Send-Pr-Version: 3.95

>Number:         32450
>Category:       kern
>Synopsis:       building kernel without a large chunk of options (pci/etc) fails.
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Jan 04 03:15:00 +0000 2006
>Closed-Date:    Mon Feb 26 20:20:49 +0000 2018
>Last-Modified:  Mon Feb 26 20:25:00 +0000 2018
>Originator:     Marc Tooley
>Release:        NetBSD 3.99.15
>Organization:
>Environment:
System: NetBSD warp.sudog.com 3.99.15 NetBSD 3.99.15 (warp) #2: Mon Jan 2 11:57:09 PST 2006 root@warp.sudog.com:/usr/src-current/sys/arch/i386/compile/warp i386
Architecture: i386
Machine: i386
>Description:
	The build environment is -current as of today or a day or two ago. 
	Essentially, using the kernel config listed below causes it to choke
	because the wdc_isa code depends on functions which are listed in
	sys/dev/ic/wdc.c which itself ends up not being included in the Makefile
	and dependencies. The functions in specific are:

	#      link  BATTLE/netbsd
	ld -T ../../../../arch/i386/conf/kern.ldscript -Ttext c0100000 -e start -X -o netbsd ${SYSTEM_OBJ} ${EXTRA_OBJ} vers.o
	wdc_isa.o(.text+0x119): In function `wdc_isa_probe':
	: undefined reference to `wdc_init_shadow_regs'
	wdc_isa.o(.text+0x155): In function `wdc_isa_probe':
	: undefined reference to `wdcprobe'
	wdc_isa.o(.text+0x336): In function `wdc_isa_attach':
	: undefined reference to `wdc_init_shadow_regs'
	wdc_isa.o(.text+0x34a): In function `wdc_isa_attach':
	: undefined reference to `wdcintr'
	wdc_isa.o(.text+0x376): In function `wdc_isa_attach':
	: undefined reference to `wdcattach'
	*** Error code 1

	It would appear that some recent work done to introduce these shadow
	registers may have inadvertently made them dependent on options
	which are there to support pci machines? Or perhaps I'm missing
	something. It wouldn't be the first time.

>How-To-Repeat:
	. Update to 3.99.15 (most recent I could find) as of.. hrm.. Dec 31 05
	anyway..
	. Rebuild config, and install it.
	. Use the following kernel config:

	include 	"arch/i386/conf/std.i386"
	options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
	maxusers	4		# estimated number of users
	options 	I486_CPU
	options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
	file-system 	FFS		# UFS
	options 	INET		# IP + ICMP + TCP + UDP
	options 	IPFILTER_LOG	# ipmon(8) log support
	options 	WSDISPLAY_CUSTOM_OUTPUT	# color customization from wsconsctl(8)
	options 	WS_KERNEL_FG=WSCOL_GREEN
	options 	WSDISPLAY_CUSTOM_BORDER	# border customization from wsconsctl(8)
	options 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
	options 	PCKBD_CNATTACH_MAY_FAIL
	options 	PCDISPLAY_SOFTCURSOR
	config		netbsd	root on ? type ?
	mainbus0 at root
	cpu* at mainbus?
	isa0	at mainbus?
	isapnp0 at isa?
	npx0	at isa? port 0xf0 irq 13	# x86 math coprocessor
	pckbc0		at isa?			# pc keyboard controller
	pckbd*		at pckbc?		# PC keyboard
	vga0		at isa?
	wsdisplay*	at vga? console ?
	wskbd*		at pckbd? console ?
	pcppi0		at isa?
	sysbeep0	at pcppi?
	com0	at isa? port 0x3f8 irq 4	# Standard PC serial ports
	com1	at isa? port 0x2f8 irq 3
	lpt0	at isa? port 0x378 irq 7	# standard PC parallel ports
	wdc0	at isa? port 0x1f0 irq 14 flags 0x00
	fdc0	at isa? port 0x3f0 irq 6 drq 2	# standard PC floppy controllers
	fd*	at fdc? drive ?			# the drives themselves
	ep*	at isa? port ? irq ?			# 3C509 ethernet cards
	iy0	at isa? port 0x360 irq ?		# EtherExpress PRO 10 ISA
	ne1	at isa? port 0x300 irq 10
	include	"arch/i386/conf/GENERIC.local"
	pseudo-device	bpfilter	8	# Berkeley packet filter
	pseudo-device	ipfilter		# IP filter (firewall) and NAT
	pseudo-device	loop			# network loopback
	pseudo-device	sl		2	# Serial Line IP
	pseudo-device	tun		4	# network tunneling over tty
	pseudo-device	pty			# pseudo-terminals
	pseudo-device	rnd			# /dev/random and in-kernel generator
	pseudo-device	clockctl		# user control of clock subsystem
	pseudo-device	wsmux			# mouse & keyboard multiplexor
	pseudo-device	wsfont
	pseudo-device	ksyms			# /dev/ksyms

	cd /usr/src-current/sys/arch/i386/conf
	config MYKERN
	cd ../compile/MYKERN
	make depend && make

	... and eventually end up with the error messages up above about
	shadow registers.

>Fix:
	I wish I knew. I modified the Makefile to include the dev/ic/wdc.c
	file but then it started whining about missing atabus symbols during
	the final link.

>Release-Note:

>Audit-Trail:
From: Quentin Garnier <cube@cubidou.net>
To: gnats-bugs@netbsd.org
Cc: netbsdMLpost@quake.ca
Subject: Re: kern/32450: non-pci, pure 486-happy isa kernel doesn't depend/make
Date: Wed, 4 Jan 2006 08:45:37 +0100

 --/7AFTq66AsXNQ7GX
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 Content-Transfer-Encoding: quoted-printable

 On Wed, Jan 04, 2006 at 03:15:00AM +0000, netbsdMLpostNO@SPAM.quake.ca wrot=
 e:
 > >Number:         32450
 > >Category:       kern
 > >Synopsis:       building kernel without a large chunk of options (pci/et=
 c) fails.
 > >Confidential:   no
 > >Severity:       serious
 > >Priority:       medium
 > >Responsible:    kern-bug-people
 > >State:          open
 > >Class:          sw-bug
 > >Submitter-Id:   net
 > >Arrival-Date:   Wed Jan 04 03:15:00 +0000 2006
 > >Originator:     Marc Tooley
 > >Release:        NetBSD 3.99.15
 > >Organization:
 > >Environment:
 > System: NetBSD warp.sudog.com 3.99.15 NetBSD 3.99.15 (warp) #2: Mon Jan 2=
  11:57:09 PST 2006 root@warp.sudog.com:/usr/src-current/sys/arch/i386/compi=
 le/warp i386
 > Architecture: i386
 > Machine: i386
 > >Description:
 > 	The build environment is -current as of today or a day or two ago.=20
 > 	Essentially, using the kernel config listed below causes it to choke
 > 	because the wdc_isa code depends on functions which are listed in
 > 	sys/dev/ic/wdc.c which itself ends up not being included in the Makefile
 > 	and dependencies. The functions in specific are:
 >=20
 > 	#      link  BATTLE/netbsd
 > 	ld -T ../../../../arch/i386/conf/kern.ldscript -Ttext c0100000 -e start =
 -X -o netbsd ${SYSTEM_OBJ} ${EXTRA_OBJ} vers.o
 > 	wdc_isa.o(.text+0x119): In function `wdc_isa_probe':
 > 	: undefined reference to `wdc_init_shadow_regs'
 > 	wdc_isa.o(.text+0x155): In function `wdc_isa_probe':
 > 	: undefined reference to `wdcprobe'
 > 	wdc_isa.o(.text+0x336): In function `wdc_isa_attach':
 > 	: undefined reference to `wdc_init_shadow_regs'
 > 	wdc_isa.o(.text+0x34a): In function `wdc_isa_attach':
 > 	: undefined reference to `wdcintr'
 > 	wdc_isa.o(.text+0x376): In function `wdc_isa_attach':
 > 	: undefined reference to `wdcattach'
 > 	*** Error code 1
 >=20
 > 	It would appear that some recent work done to introduce these shadow
 > 	registers may have inadvertently made them dependent on options
 > 	which are there to support pci machines? Or perhaps I'm missing
 > 	something. It wouldn't be the first time.
 >=20
 > >How-To-Repeat:
 > 	. Update to 3.99.15 (most recent I could find) as of.. hrm.. Dec 31 05
 > 	anyway..
 > 	. Rebuild config, and install it.
 > 	. Use the following kernel config:
 >=20
 > 	include 	"arch/i386/conf/std.i386"
 > 	options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 > 	maxusers	4		# estimated number of users
 > 	options 	I486_CPU
 > 	options 	RTC_OFFSET=3D0	# hardware clock is this many mins. west of GMT
 > 	file-system 	FFS		# UFS
 > 	options 	INET		# IP + ICMP + TCP + UDP
 > 	options 	IPFILTER_LOG	# ipmon(8) log support
 > 	options 	WSDISPLAY_CUSTOM_OUTPUT	# color customization from wsconsctl(8)
 > 	options 	WS_KERNEL_FG=3DWSCOL_GREEN
 > 	options 	WSDISPLAY_CUSTOM_BORDER	# border customization from wsconsctl(8)
 > 	options 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
 > 	options 	PCKBD_CNATTACH_MAY_FAIL
 > 	options 	PCDISPLAY_SOFTCURSOR
 > 	config		netbsd	root on ? type ?
 > 	mainbus0 at root
 > 	cpu* at mainbus?
 > 	isa0	at mainbus?
 > 	isapnp0 at isa?
 > 	npx0	at isa? port 0xf0 irq 13	# x86 math coprocessor
 > 	pckbc0		at isa?			# pc keyboard controller
 > 	pckbd*		at pckbc?		# PC keyboard
 > 	vga0		at isa?
 > 	wsdisplay*	at vga? console ?
 > 	wskbd*		at pckbd? console ?
 > 	pcppi0		at isa?
 > 	sysbeep0	at pcppi?
 > 	com0	at isa? port 0x3f8 irq 4	# Standard PC serial ports
 > 	com1	at isa? port 0x2f8 irq 3
 > 	lpt0	at isa? port 0x378 irq 7	# standard PC parallel ports
 > 	wdc0	at isa? port 0x1f0 irq 14 flags 0x00
 > 	fdc0	at isa? port 0x3f0 irq 6 drq 2	# standard PC floppy controllers
 > 	fd*	at fdc? drive ?			# the drives themselves
 > 	ep*	at isa? port ? irq ?			# 3C509 ethernet cards
 > 	iy0	at isa? port 0x360 irq ?		# EtherExpress PRO 10 ISA
 > 	ne1	at isa? port 0x300 irq 10
 > 	include	"arch/i386/conf/GENERIC.local"
 > 	pseudo-device	bpfilter	8	# Berkeley packet filter
 > 	pseudo-device	ipfilter		# IP filter (firewall) and NAT
 > 	pseudo-device	loop			# network loopback
 > 	pseudo-device	sl		2	# Serial Line IP
 > 	pseudo-device	tun		4	# network tunneling over tty
 > 	pseudo-device	pty			# pseudo-terminals
 > 	pseudo-device	rnd			# /dev/random and in-kernel generator
 > 	pseudo-device	clockctl		# user control of clock subsystem
 > 	pseudo-device	wsmux			# mouse & keyboard multiplexor
 > 	pseudo-device	wsfont
 > 	pseudo-device	ksyms			# /dev/ksyms
 >=20
 > 	cd /usr/src-current/sys/arch/i386/conf
 > 	config MYKERN
 > 	cd ../compile/MYKERN
 > 	make depend && make
 >=20
 > 	... and eventually end up with the error messages up above about
 > 	shadow registers.
 >=20
 > >Fix:
 > 	I wish I knew. I modified the Makefile to include the dev/ic/wdc.c
 > 	file but then it started whining about missing atabus symbols during
 > 	the final link.

 You don't have a 'wd* at wdc?' line, that's probably the immediate cause
 of the error.  Nevertheless, it shouldn't happen.  But at least as it
 is, the wdc line is useless.

 --=20
 Quentin Garnier - cube@cubidou.net - cube@NetBSD.org
 "When I find the controls, I'll go where I like, I'll know where I want
 to be, but maybe for now I'll stay right here on a silent sea."
 KT Tunstall, Silent Sea, Eye to the Telescope, 2004.

 --/7AFTq66AsXNQ7GX
 Content-Type: application/pgp-signature
 Content-Disposition: inline

 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.2.6 (NetBSD)

 iQEVAwUBQ7t9IdgoQloHrPnoAQLX5gf+J9j5KF47RncuJaAt4ThBUL4w06QBdt+g
 teiwwUGi9E72lSkim9t796O2kwbwjF5WrIjCBC040sxGGtehqGhMRnMLqrf6Kfr0
 kL/W1AXwOdiHychIDg3rAotiEoT8Ovit8PUGhb4opeTlD9R986QjKhtdIJlB1m2r
 gjkwS2JIprAe+xnXcwm0ytuKEbHMjRs1o0VKyppxvMzeUxMFd/ntQGTYKlC3SuQ2
 eGfoNJIajta0CsZ7RLTLmr6WFqSWpriTPDIjPCYcCw3tjpgc9SKIoVq1AVJ9+b6G
 wNYm7cvSa1MXdTGlYmykXFM6j44P1XcAAFlGDdjN+Efu8H06j7c82w==
 =RMGy
 -----END PGP SIGNATURE-----

 --/7AFTq66AsXNQ7GX--


From: Marc Tooley <netbsdMLpostNO@spam.quake.ca>
To: Quentin Garnier <cube@cubidou.net>
Cc: gnats-bugs@netbsd.org
Subject: Re: kern/32450: non-pci, pure 486-happy isa kernel doesn't depend/make
Date: Wed, 4 Jan 2006 13:56:30 -0800

 On Tuesday 03 January 2006 23:45, Quentin Garnier wrote:
 >
 > You don't have a 'wd* at wdc?' line, that's probably the immediate
 > cause of the error.  Nevertheless, it shouldn't happen.  But at least
 > as it is, the wdc line is useless.

 That's what I thought too, but I wasn't sure what to do about it. I just 
 added in the line "wd* at wdc?" and it looks like it makes it choke, 
 too, during the config:

 BATTLE:720: `wd' cannot attach to `wdc'
 *** Stop.

From: Quentin Garnier <cube@cubidou.net>
To: Marc Tooley <netbsdMLpostNO@spam.quake.ca>
Cc: gnats-bugs@netbsd.org
Subject: Re: kern/32450: non-pci, pure 486-happy isa kernel doesn't depend/make
Date: Wed, 4 Jan 2006 22:49:39 +0100

 --KGCJ2evWaA3eb4zZ
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 Content-Transfer-Encoding: quoted-printable

 On Wed, Jan 04, 2006 at 01:56:30PM -0800, Marc Tooley wrote:
 > On Tuesday 03 January 2006 23:45, Quentin Garnier wrote:
 > >
 > > You don't have a 'wd* at wdc?' line, that's probably the immediate
 > > cause of the error.  Nevertheless, it shouldn't happen.  But at least
 > > as it is, the wdc line is useless.
 >=20
 > That's what I thought too, but I wasn't sure what to do about it. I just=
 =20
 > added in the line "wd* at wdc?" and it looks like it makes it choke,=20
 > too, during the config:
 >=20
 > BATTLE:720: `wd' cannot attach to `wdc'
 > *** Stop.

 Yes, because there is one more indirection:

 atabus* at wdc?
 wd* at atabus? drive ? flags 0x0000

 --=20
 Quentin Garnier - cube@cubidou.net - cube@NetBSD.org
 "When I find the controls, I'll go where I like, I'll know where I want
 to be, but maybe for now I'll stay right here on a silent sea."
 KT Tunstall, Silent Sea, Eye to the Telescope, 2004.

 --KGCJ2evWaA3eb4zZ
 Content-Type: application/pgp-signature
 Content-Disposition: inline

 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.2.6 (NetBSD)

 iQEVAwUBQ7xC89goQloHrPnoAQJk4wgAwjLq5YAZbHlZ8qz6NuhafRN59G8sQlxv
 KPRgjJOFFXQjU/9hE1hK3Qo0lwTA1VFvyjlhSiGokQfBbGO0cvjxlbpujXKd08C3
 CN//lHrQv16VZVFb3O88SfPvGkXM8b8p7GVbSZ/6ZP4rP14a2pVf6Lh4OtvALo31
 ng/XMUZ8dafER4XtpqjQG2Rz/8KvoQ1vTVdRoS2AJDqgHKKR0Cs3USrI3DYvpwKk
 MR154syV4gOo/BW76ovKGWGMid4frvrR18uewk8rY9oN442uNXue69KbZT/kBlq6
 cF+sRM6qNBPvhV1M3WPu3YV+gbXV1KePnmI2QwYWrz28OybEEEuKQg==
 =m/Zd
 -----END PGP SIGNATURE-----

 --KGCJ2evWaA3eb4zZ--

From: Sridhar Ayengar <ploopster@gmail.com>
To: gnats-bugs@netbsd.org, root@warp.sudog.com
Cc: 
Subject: Re: kern/32450: non-pci, pure 486-happy isa kernel doesn't depend/make
Date: Mon, 04 Jun 2007 15:27:12 -0400

 This bug seems to still be open, so I'll just give a quick shout, in 
 case you're still having this problem.

 You don't need the:

 wd* at wdc?

 line in order to get it to compile, but you *do* need the:

 atabus* at ata?

 to get it to compile.  It took me a few minutes of experimentation with 
 the GENERIC conf file to figure this out.

 Hope this helps.

 Peace...  Sridhar


State-Changed-From-To: open->closed
State-Changed-By: maya@NetBSD.org
State-Changed-When: Mon, 26 Feb 2018 20:20:49 +0000
State-Changed-Why:
this is a 2006 bug report about a build issue. it's highly unlikely that it contains information that can applied to -current. I do expect that if I play with various build combinations, I'll find build issues (even spurious compiler errors that are bugs), but it's a big and somewhat impossible mission. let me know if there's a configuration you'd like to try, and doesn't work, but is relevant for a recent netbsd.


From: maya@NetBSD.org
To: kern-bug-people@netbsd.org,netbsd-bugs@netbsd.org,gnats-admin@netbsd.org,maya@NetBSD.org,gnats-bugs@netbsd.org
Cc: 
Subject: Re: kern/32450 (building kernel without a large chunk of options (pci/etc) fails.)
Date: Mon, 26 Feb 2018 20:20:49 +0000 (UTC)

 Synopsis: building kernel without a large chunk of options (pci/etc) fails.

 State-Changed-From-To: open->closed
 State-Changed-By: maya@NetBSD.org
 State-Changed-When: Mon, 26 Feb 2018 20:20:49 +0000
 State-Changed-Why:
 this is a 2006 bug report about a build issue. it's highly unlikely that it contains information that can applied to -current. I do expect that if I play with various build combinations, I'll find build issues (even spurious compiler errors that are bugs), but it's a big and somewhat impossible mission. let me know if there's a configuration you'd like to try, and doesn't work, but is relevant for a recent netbsd.



>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.