minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
32-bit division and remainder. Sometimes, when optimizing, they could
have been different than previously expected (and could have caused
hokey results).
(1) zero top 32 bits for 32-bit unsigned ops; 32-bit value can
be accidentally(?) sign-extended by the compiler/assembler.
(2) fix return value for mod's that cause traps