musl/arch/mipsn32
Rich Felker ddc7c4f936 clean up mips64/n32 syscall asm constraints
ever since inline syscalls were added for (o32) mips in commit
328810d325, the asm has nonsensically
loaded the syscall number, rather than taking $2 as an input
constraint to let the compiler load it. commit
cfc09b1ecf improved on this somewhat by
allowing a constant syscall number to propagate into an immediate, but
missed that the whole operation made no sense.

now, only $4, $5, $6, $8, and $9 are potential input-only registers.
$2 is always input and output, and $7 is both when it's an argument,
otherwise output-only. previously, $7 was treated as an input (with a
"1" constraint matching its output position) even when it was not an
input, which was arguably undefined behavior (asm input from
indeterminate value). this is corrected.
2019-07-16 20:49:02 -04:00
..
bits fix conflicting mips and powerpc definitions for TIOCSER_TEMT macro 2019-07-10 17:09:49 -04:00
atomic_arch.h add mips n32 port (ILP32 ABI for mips64) 2016-04-18 05:19:13 +00:00
crt_arch.h add mips n32 port (ILP32 ABI for mips64) 2016-04-18 05:19:13 +00:00
ksigaction.h apply hidden visibility to sigreturn code fragments 2018-09-12 14:34:34 -04:00
pthread_arch.h make thread-pointer-loading asm non-volatile 2018-10-16 14:11:46 -04:00
reloc.h add mips n32 port (ILP32 ABI for mips64) 2016-04-18 05:19:13 +00:00
syscall_arch.h clean up mips64/n32 syscall asm constraints 2019-07-16 20:49:02 -04:00