I've got this one image which is available only as a binary, and it is a
statically linked NetBSD-4.0 image
dnetc.x86_64: ELF 64-bit LSB executable, x86-64, version 1 (SYSV),
statically linked, for NetBSD 4.0, stripped
If I run this on a 6.99.17 kernel built from today's sources, and that kernel
includes COMPAT_40, COMPAT_50, and COMPAT_60, the image starts up correctly.
However, if I boot a kernel which is identical except for those three
COMPAT_* options, and then I modload the compat module, the same image fails.
Using ktrace, it would seem that there is some sysctl variable missing from
the compat module.
1043 1 dnetc.x86_64 CALL compat_50_gettimeofday(0x7f7fffffd670,0)
1043 1 dnetc.x86_64 RET compat_50_gettimeofday 0
1043 1 dnetc.x86_64 CALL
__sysctl(0x7f7fffffd6a0,2,0x7f7fffffd680,0x7f7fffffd698,0,0)
1043 1 dnetc.x86_64 RET __sysctl -1 errno 2 No such file or
directory
1043 1 dnetc.x86_64 CALL write(2,0x7f7fffffcd10,0x24)
1043 1 dnetc.x86_64 GIO fd 2 wrote 36 bytes
"dnetc: Unable to initialize timers.\n"
1043 1 dnetc.x86_64 RET write 36/0x24
1043 1 dnetc.x86_64 CALL exit(0xffffffff)
Is there any reasonable way to figure out which sysctl variable is missing?