Subject: port-sparc/13140: netbsd-1-5 headless sparc kernel link failure
To: None <gnats-bugs@gnats.netbsd.org>
From: None <gkm@petting-zoo.net>
List: netbsd-bugs
Date: 06/08/2001 11:16:28
>Number: 13140
>Category: port-sparc
>Synopsis: link failure when you disable all framebuffers but leave RASTERCONSOLE on
>Confidential: yes
>Severity: non-critical
>Priority: low
>Responsible: port-sparc-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Jun 08 11:15:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: glen mccready
>Release: netbsd-1-5 updated June 7, 14:30 Pacific
>Organization:
Petting Zoo
>Environment:
System: NetBSD sparcy 1.5.1_BETA2 NetBSD 1.5.1_BETA2 (GENERIC) #9: Sat May 12 13:22:25 CST 2001 toor@proxima:/usr/src/sys/arch/sparc/compile/GENERIC sparc
>Description:
if you remove all framebuffer drivers but leave `options RASTERCONSOLE'
defined your link fails with:
ld -Ttext F0004000 -e start -n -X -o netbsd ${SYSTEM_OBJ} vers.o
kd.o: In function `kd_init':
kd.o(.text+0x34): undefined reference to `fbrcons_rows'
kd.o(.text+0x3c): undefined reference to `fbrcons_cols'
*** Error code 1
>How-To-Repeat:
use the following kernel config and try to build:
-- cut here --
include "arch/sparc/conf/std.sparc"
maxusers 32
options SUN4C # sun4c - SS1, 1+, 2, ELC, SLC, IPC, IPX, etc.
options RASTERCONSOLE # fast rasterop console
options FONT_GALLANT12x22 # the console font
config netbsd root on ? type ?
options KTRACE
options SYSVMSG # System V message queues
options SYSVSEM # System V semaphores
options SYSVSHM # System V shared memory
options LKM
options NFS_BOOT_BOOTPARAM
options SCSIVERBOSE
options MIIVERBOSE # verbose PHY autoconfig messages
options COMPAT_43 # 4.3BSD system interfaces
options COMPAT_10 # NetBSD 1.0 binary compatibility
options COMPAT_11 # NetBSD 1.1 binary compatibility
options COMPAT_12 # NetBSD 1.2 binary compatibility
options COMPAT_13 # NetBSD 1.3 binary compatibility
options COMPAT_14 # NetBSD 1.4 binary compatibility
options COMPAT_SUNOS # SunOS 4.x binary compatibility
options COMPAT_SVR4 # SunOS 5.x binary compatibility
options COMPAT_AOUT # NetBSD a.out compatibility
file-system FFS # Berkeley Fast Filesystem
file-system NFS # Sun NFS-compatible filesystem client
file-system KERNFS # kernel data-structure filesystem
file-system NULLFS # NULL layered filesystem
file-system OVERLAY # overlay file system
file-system MFS # memory-based filesystem
file-system FDESC # user file descriptor filesystem
file-system UMAPFS # uid/gid remapping filesystem
file-system LFS # Log-based filesystem (still experimental)
file-system PORTAL # portal filesystem (still experimental)
file-system PROCFS # /proc
file-system CD9660 # ISO 9660 + Rock Ridge file system
file-system UNION # union file system
file-system MSDOSFS # MS-DOS FAT filesystem(s).
file-system CODA # Coda File System; also needs vcoda (below)
options NFSSERVER # Sun NFS-compatible filesystem server
options QUOTA # FFS quotas
options SOFTDEP # FFS soft updates support.
options INET # IP (Internet Protocol) v4
options INET6 # IPV6
options GATEWAY # packet forwarding ("router switch")
options NS # Xerox NS networking
options ISO,TPIP # OSI networking
options NTP # Network Time Protocol in-kernel support
options PFIL_HOOKS # Add pfil(9) hooks, intended for custom LKMs.
options IPFILTER_LOG # Add ipmon(8) logging for ipfilter device
options PPP_BSDCOMP # Add BSD compression to ppp device
options PPP_DEFLATE # Add deflate (libz) compression to ppp device
options PPP_FILTER # Add active filters for ppp (via bpf)
mainbus0 at root
cpu0 at mainbus0
sbus0 at mainbus0 # sun4c
xbox* at sbus? slot ? offset ?
sbus* at xbox?
auxreg0 at mainbus0 # sun4c
clock0 at mainbus0 # sun4c
memreg0 at mainbus0 # sun4c
timer0 at mainbus0 # sun4c
zs0 at mainbus0 # sun4c
zstty0 at zs0 channel 0 # ttya
zstty1 at zs0 channel 1 # ttyb
zs1 at mainbus0 # sun4c
kbd0 at zs1 channel 0 # keyboard
ms0 at zs1 channel 1 # mouse
bpp* at sbus? slot? offset ?
magma* at sbus? slot ? offset ?
mtty* at magma?
mbpp* at magma?
dma0 at sbus0 slot ? offset ? # sun4c/sun4m
esp0 at sbus0 slot ? offset ? flags 0x0000 # sun4c
esp0 at dma0 flags 0x0000 # sun4m
dma* at sbus? slot ? offset ? # SBus
esp* at sbus? slot ? offset ? flags 0x0000 # SBus (older proms)
esp* at dma? flags 0x0000 # SBus
scsibus* at esp?
sd* at scsibus? target ? lun ? # SCSI disks
st* at scsibus? target ? lun ? # SCSI tapes
pseudo-device vnd 4
pseudo-device ccd 4
le0 at sbus0 slot ? offset ? # sun4c on-board
le* at sbus? slot ? offset ? # SBus
ledma* at sbus? slot ? offset ? # SBus
le* at ledma? # SBus
lebuffer0 at sbus? slot ? offset ? # SBus
le0 at lebuffer? # SBus
lebuffer* at sbus? slot ? offset ? # SBus
le* at lebuffer? # SBus
pseudo-device loop
pseudo-device sl 2
pseudo-device ppp 2
pseudo-device tun 4
pseudo-device bpfilter 8
pseudo-device ipfilter
pseudo-device gif 4 # IPv[46] over IPv[46] tunnel (RFC1933)
pseudo-device vlan
audioamd0 at mainbus0 # sun4c
audio* at audioamd0
audiocs0 at sbus0 slot ? offset ? # SUNW,CS4231
audio* at audiocs0
pseudo-device pty 64 # pseudo-terminals
pseudo-device rnd
pseudo-device vcoda 4 # coda minicache <-> venus comm.
-- cut here --
>Fix:
comment out RASTERCONSOLE and FONT_GALLANT12x22, and then...
$ config KERNEL-CONF; cd ../compile/KERNEL-CONF; make depend; rm kd.o; make
some sort of sanity check should be done at config(8) time to make sure
you haven't set conflicting options or hung yourself by selecting one
that has a dependancy. also, i was forced to remove kd.o by hand even
though i changed an option related to it and re-ran "make depend".
>Release-Note:
>Audit-Trail:
>Unformatted:
no