musl/arch/mips
Rich Felker 7c440977db fix _NSIG and SIGRTMAX on mips
a mips signal mask contains 128 bits, enough for signals 1 through
128. however, the exit status obtained from the wait-family functions
only has room for values up to 127. reportedly signal 128 was causing
kernelspace bugs, so it was removed from the kernel recently; even
without that issue, however, it was impossible to support it correctly
in userspace.

at the same time, the bug was masked on musl by SIGRTMAX incorrectly
yielding 64 on mips, rather than the "correct" value of 128. now that
the _NSIG issue is fixed, SIGRTMAX can be fixed at the same time,
exposing the full range of signals for application use.

note that the (nonstandardized) libc _NSIG value is actually one
greater than the max signal number, and also one greater than the
kernel headers' idea of _NSIG. this is the reason for the discrepency
with the recent kernel changes. since reducing _NSIG by one brought it
down from 129 to 128, rather than from 128 to 127, _NSIG/8, used
widely in the musl sources, is unchanged.
2013-08-10 23:39:43 -04:00
..
bits fix _NSIG and SIGRTMAX on mips 2013-08-10 23:39:43 -04:00
atomic.h avoid need for -march=mips2 to compile mips atomic.h asm 2012-08-11 19:51:21 -04:00
crt_arch.h new mostly-C crt1 implementation 2013-07-26 01:49:14 -04:00
ksigaction.h add some comments about the mips ksigaction structure weirdness 2013-06-29 12:24:06 -04:00
pthread_arch.h add support for TLS variant I, presently needed for arm and mips 2012-10-15 18:51:53 -04:00
reloc.h make the dynamic linker find its path file relative to its own location 2013-07-18 19:29:44 -04:00
syscall_arch.h remove __SYSCALL_SSLEN arch macro in favor of using public _NSIG 2013-03-26 23:07:31 -04:00