summaryrefslogtreecommitdiff
path: root/arch/mips/bits/setjmp.h
AgeCommit message (Collapse)AuthorLines
2014-03-18fix size of mips jmp_bufRich Felker-1/+1
the excess space was unused and unintentional. this change does not affect the ABI between applications and libc. while it does theoretically affect linkage between third-party translation units using jmp_buf as part of a structure, we've already changed jmp_buf at least once on all archs, and problems were never observed, likely because such usage would be very unusual. in any case it's best to get things right now rather than making changes sometime during the 1.0.x series or later.
2013-07-24change jmp_buf to share an underlying type and struct tag with sigjmp_bufRich Felker-1/+1
this is necessary to meet the C++ ABI target. alternatives were considered to avoid the size increase for non-sig jmp_buf objects, but they seemed to have worse properties. moreover, the relative size increase is only extreme on x86[_64]; one way of interpreting this is that, if the size increase from this patch makes jmp_buf use too much memory, then the program was already using too much memory when built for non-x86 archs.
2012-07-22add floating point register saving/restoring to mips setjmp/longjmpRich Felker-1/+1
also fix the alignment of jmp_buf to meet the abi. linux always emulates fpu on mips if it's not present, so enabling this code unconditionally is "safe" but may be slow. in the long term it may be preferable to find a way to disable it on soft float builds.
2012-07-11initial version of mips (o32) port, based on work by Richard Pennington (rdp)Rich Felker-0/+1
basically, this version of the code was obtained by starting with rdp's work from his ellcc source tree, adapting it to musl's build system and coding style, auditing the bits headers for discrepencies with kernel definitions or glibc/LSB ABI or large file issues, fixing up incompatibility with the old binutils from aboriginal linux, and adding some new special cases to deal with the oddities of sigaction and pipe syscall interfaces on mips. at present, minimal test programs work, but some interfaces are broken or missing. threaded programs probably will not link.