Subject: kern/7931: COMPAT_AOUT kernel option is dependent on COMPAT_13 and other COMPAT_* options. It shouldn't be.
To: None <gnats-bugs@gnats.netbsd.org>
From: None <jwise@draga.com>
List: netbsd-bugs
Date: 07/06/1999 09:35:49
>Number: 7931
>Category: kern
>Synopsis: COMPAT_AOUT kernel option is dependent on COMPAT_13 and other COMPAT_* options. It shouldn't be.
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: kern-bug-people (Kernel Bug People)
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Jul 6 09:35:00 1999
>Last-Modified:
>Originator: Jim Wise
>Organization:
Jim Wise
jwise@draga.com
>Release: NetBSD-current of 1999-07-05
>Environment:
System: NetBSD himring.draga.com 1.4C NetBSD 1.4C (HIMRING) #0: Sun May 30 21:33:44 EDT 1999 jwise@himring.draga.com:/home/NetBSD/src/sys/arch/i386/compile/HIMRING i386
>Description:
.../src/sys/compat/aout/syscalls.master includes entries for various COMPAT_13, COMPAT_43, and other
system calls. This makes it impossible to build a system with (e.g.) COMPAT_AOUT and not COMPAT_13,
due to failures of the form:
ld -Ttext F0100000 -e start -z -X -o netbsd ${SYSTEM_OBJ} vers.o
aout_sysent.o: Undefined symbol `_compat_13_sys_sigreturn' referenced from data segment
*** Error code 1
Stop.
This combination of options is (IMHO) perfectly valid, and it's a shame not to support it.
>How-To-Repeat:
configure a kernel with COMPAT_AOUT and not COMPAT_13. Try to build it. Watch it fail with
the above error.
>Fix:
.../src/sys/kern/syscalls.master uses the COMPAT_13 keyword, defined as a compatibility option
in .../src/sys/kern/syscalls.conf to selectively include/exclude NetBSD-1.3 compatibility
functions. Probably, this should be added to .../src/sys/compat/aout/syscalls.{conf,master},
but I'm not sure that it's as simple as that.
>Audit-Trail:
>Unformatted: