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:
(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.