NetBSD/pmax uses an ELF-format toolchain rather than an a.out-format
toolchain. The main effect this has is that external identifiers are
not prefixed with `_' as they usually are with ELF.
NetBSD is migrating from a.out to ELF on a port-by-port basis. As of
NetBSD 1.4 (and probably earlier), the correct way to check for this
in code is with:
#if defined(__NetBSD__) && defined(__ELF__)
#undef USCORE
#endif
as the ELF toolchains predefine __ELF__.
Note that the representation of signal masks changed in NetBSD 1.4
(from a single 32-bit value to an array of them), and, as a result,
scsh no longer builds on 1.4. Fixing this correctly appears to
require an interface change between the os-independant and
os-dependant code, as it looks like scsh doesn't know how to keep
track of more than 48 bits of signal mask. (NetBSD currently doesn't
provide more than 48 signals, but it could in the future).
- Bill
|