revert mips (32-bit, o32) syscall asm clean-up due to regressions
authorRich Felker <dalias@aerifal.cx>
Wed, 11 Mar 2020 22:50:21 +0000 (18:50 -0400)
committerRich Felker <dalias@aerifal.cx>
Sun, 15 Mar 2020 01:22:50 +0000 (21:22 -0400)
commit972b5fde9a2d1b5517c15803fb437195e6663085
tree9ac85d013ecaf30c7802d6a4cbbb043bcdeb7571
parent5053fd2644c188ac6531e5fe6a52a1a6d0df2fc2
revert mips (32-bit, o32) syscall asm clean-up due to regressions

exactly revert commit 604f8d3d8b08ee4f548de193050ef93a7753c2e0 which
was wrong; it caused a major regression on Linux versions prior to
2.6.36. old kernels did not properly preserve r2 across syscall
restart, and instead restarted with the instruction right before
syscall, imposing a contract that the previous instruction must load
r2 from an immediate or a register (or memory) not clobbered by the
syscall.
arch/mips/syscall_arch.h