Subject: kern/26580: COMPAT_SVR4_32 depends on COMPAT_43
To: None <>
From: None <>
List: netbsd-bugs
Date: 08/07/2004 11:44:55
>Number:         26580
>Category:       kern
>Synopsis:       COMPAT_SVR4_32 depends on COMPAT_43
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Aug 07 09:46:00 UTC 2004
>Originator:     Michael van Elst
>Release:        NetBSD-current
                                Michael van Elst
                                "A potential Snark may lurk in every tree."
System: NetBSD pepew 1.6.2_STABLE NetBSD 1.6.2_STABLE (PEPEW) #14: Sat Jul 10 22:27:10 MEST 2004 src@pepew:/amd/fud/d/0/src/sys/arch/i386/compile/PEPEW i386
Architecture: i386
Machine: i386
I am cross-building NetBSD-current/sparc64 on a 1.6.2/i386 system, but
that is probably unrelated. It affects every system you build with
svr4_32 compatibility.

The -current config for the build target contains:

#options        COMPAT_43       # 4.3BSD system interfaces
#options        COMPAT_09       # NetBSD 0.9 binary compatibility
#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_15       # NetBSD 1.5 binary compatibility
options         COMPAT_16       # NetBSD 1.6 binary compatibility
options         COMPAT_20       # NetBSD 2.0 binary compatibility
#options        COMPAT_SUNOS    # SunOS 4.x binary compatibility
options         COMPAT_SVR4     # SunOS 5.x binary compatibility
options         COMPAT_SVR4_32  # SunOS 5.x 32-bit binary compatibility -- 64-bit only
options         COMPAT_NETBSD32 # NetBSD/sparc binary compatibility -- 64-bit only
options         EXEC_AOUT       # execve(2) support for a.out binaries
options         EXEC_ELF32      # Exec module for SunOS 5.x binaries.

Building fails with a linker error:

svr4_32_sysent.o(.data+0x138): undefined reference to `compat_43_netbsd32_olseek'

and a few other references from svr4_32_sysent to compat_43_netbsd32 functions.

COMPAT dependencies should either be factored out or cause intelligble
warnings at config time.

Build -current with the COMPAT settings from above.