NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/53915: compat merge causing kernel link failure
>Number: 53915
>Category: kern
>Synopsis: compat merge cause kernel link failure
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Jan 27 21:05:00 +0000 2019
>Originator: Onno van der Linden
>Release: NetBSD 8.99.24
>Organization:
<organization of PR author (multiple lines)>
>Environment:
System: NetBSD sheep 8.99.24 NetBSD 8.99.24 (SHEEPKMS) #4: Sat Aug 11 11:29:18 CEST 2018 onno@sheep:/usr/src/sys/arch/i386/compile/SHEEPKMS i386
Architecture: i386
Machine: i386
>Description:
Trying to build a 8.99.32 kernel from sources after the compat merge
causes a failure at the link stage with a config file that has some
COMPAT_ options commented out:
$ egrep '^#options' /sys/arch/i386/conf/SHEEPKMS|grep COMPAT
#options COMPAT_NOMID # compatibility with 386BSD, BSDI, NetBSD 0.8,
#options COMPAT_09 # NetBSD 0.9,
#options COMPAT_10 # NetBSD 1.0,
#options COMPAT_43 # and 4.3BSD
#options COMPAT_AOUT # binary compatibility with AOUT
#options COMPAT_SVR4 # binary compatibility with SVR4
#options COMPAT_IBCS2 # binary compatibility with SCO and ISC
And has
$ egrep -e COMPAT_LINUX -e COMPAT_FREEBSD /sys/arch/i386/conf/SHEEPKMS
options COMPAT_FREEBSD # FreeBSD
options COMPAT_LINUX # Linux
ld -Map netbsd.map --cref -T netbsd.ldscript -Ttext c0100000 -e start -X -o netbsd ${SYSTEM_OBJ:[@]:Nswapnetbsd.o} ${EXTRA_OBJ} vers.o swapnetbsd.o
linux_sysent.o:(.data+0x184): undefined reference to `compat_43_sys_lseek'
linux_sysent.o:(.data+0x5d0): undefined reference to `compat_43_sys_sethostname'
linux_sysent.o:(.data+0x698): undefined reference to `compat_43_sys_lstat'
linux_sysent.o:(.data+0x738): undefined reference to `compat_43_sys_truncate'
linux_sysent.o:(.data+0x74c): undefined reference to `compat_43_sys_ftruncate'
freebsd_sysent.o:(.data+0xa8): undefined reference to `compat_43_sys_creat'
freebsd_sysent.o:(.data+0x184): undefined reference to `compat_43_sys_lseek'
freebsd_sysent.o:(.data+0x300): undefined reference to `compat_43_sys_stat'
freebsd_sysent.o:(.data+0x328): undefined reference to `compat_43_sys_lstat'
freebsd_sysent.o:(.data+0x4e0): undefined reference to `compat_43_sys_fstat'
freebsd_sysent.o:(.data+0x4f4): undefined reference to `compat_43_sys_getkerninfo'
freebsd_sysent.o:(.data+0x508): undefined reference to `compat_43_sys_getpagesize'
freebsd_sysent.o:(.data+0x594): undefined reference to `compat_43_sys_mmap'
freebsd_sysent.o:(.data+0x698): undefined reference to `compat_43_sys_wait'
freebsd_sysent.o:(.data+0x6d4): undefined reference to `compat_43_sys_gethostname'
freebsd_sysent.o:(.data+0x6e8): undefined reference to `compat_43_sys_sethostname'
freebsd_sysent.o:(.data+0x6fc): undefined reference to `compat_43_sys_getdtablesize'
freebsd_sysent.o:(.data+0x7c4): undefined reference to `compat_43_sys_accept'
freebsd_sysent.o:(.data+0x7ec): undefined reference to `compat_43_sys_send'
freebsd_sysent.o:(.data+0x800): undefined reference to `compat_43_sys_recv'
freebsd_sysent.o:(.data+0x878): undefined reference to `compat_43_sys_sigvec'
freebsd_sysent.o:(.data+0x88c): undefined reference to `compat_43_sys_sigblock'
freebsd_sysent.o:(.data+0x8a0): undefined reference to `compat_43_sys_sigsetmask'
freebsd_sysent.o:(.data+0x8c8): undefined reference to `compat_43_sys_sigstack'
freebsd_sysent.o:(.data+0x8dc): undefined reference to `compat_43_sys_recvmsg'
freebsd_sysent.o:(.data+0x8f0): undefined reference to `compat_43_sys_sendmsg'
freebsd_sysent.o:(.data+0x9cc): undefined reference to `compat_43_sys_recvfrom'
freebsd_sysent.o:(.data+0xa1c): undefined reference to `compat_43_sys_truncate'
freebsd_sysent.o:(.data+0xa30): undefined reference to `compat_43_sys_ftruncate'
freebsd_sysent.o:(.data+0xb0c): undefined reference to `compat_43_sys_getpeername'
freebsd_sysent.o:(.data+0xb20): undefined reference to `compat_43_sys_gethostid'
freebsd_sysent.o:(.data+0xb34): undefined reference to `compat_43_sys_sethostid'
freebsd_sysent.o:(.data+0xb48): undefined reference to `compat_43_sys_getrlimit'
freebsd_sysent.o:(.data+0xb5c): undefined reference to `compat_43_sys_setrlimit'
freebsd_sysent.o:(.data+0xb70): undefined reference to `compat_43_sys_killpg'
freebsd_sysent.o:(.data+0xbac): undefined reference to `compat_43_sys_quota'
freebsd_sysent.o:(.data+0xbc0): undefined reference to `compat_43_sys_getsockname'
freebsd_sysent.o:(.data+0xc38): undefined reference to `compat_43_sys_getdirentries'
freebsd_sysent.o:(.data+0xcb0): undefined reference to `compat_09_sys_getdomainname'
freebsd_sysent.o:(.data+0xcc4): undefined reference to `compat_09_sys_setdomainname'
freebsd_sysent.o:(.data+0xcd8): undefined reference to `compat_09_sys_uname'
How-To-Repeat:
Build a kernel in which a couple of COMPAT_ lines in the config
are commented out and which also have COMPAT_LINUX and/or COMPAT_FREEBSD
>Fix:
No problem building a 8.99.31 kernel right before the compat
merge with the same config file (although that kernel crashes
in the atapi attach code due to referencering a null pointer)
Home |
Main Index |
Thread Index |
Old Index