"Maxime Villard" writes: > Module Name: src > Committed By: maxv > Date: Sat Dec 16 08:31:36 UTC 2017 > > Modified Files: > src/sys/compat/common: Makefile.inc > > Log Message: > Build libcompat as an object, not as a library. We want all of its > functions compiled in, because compat modules loaded from the filesystem > may depend on them.
this breaks mips64 kernels: /var/obj/evbmips-mips64eb/usr/src/tooldir.NetBSD-7.1_STABLE-amd64/bin/mips64--netbsd-ld: kern_ipc_10.o: ABI is incompatible with that of the selected emulation /var/obj/evbmips-mips64eb/usr/src/tooldir.NetBSD-7.1_STABLE-amd64/bin/mips64--netbsd-ld: failed to merge target specific data of file kern_ipc_10.o /var/obj/evbmips-mips64eb/usr/src/tooldir.NetBSD-7.1_STABLE-amd64/bin/mips64--netbsd-ld: sysv_shm_50.o: ABI is incompatible with that of the selected emulation /var/obj/evbmips-mips64eb/usr/src/tooldir.NetBSD-7.1_STABLE-amd64/bin/mips64--netbsd-ld: failed to merge target specific data of file sysv_shm_50.o [ ... ] it also shouldn't be necessary for non-MODULAR kernels. (same for compat_util.c.) AFAICT, there is no reason to build this as as object for non-modular. or to include anything else that isn't link-time missing. note that i'm fairly sure that your change only exposed a latent bug in COMPAT_AS=library on mips64, but it's also wrong to use it there anyway. thanks. .mrg.