1 Commits

Author SHA1 Message Date
Zhou Zhifa
10400e30ba mips: Fix argument passing for inlined syscalls on Linux [BZ #25523]
According to [gcc documentation][1], temporary variables must be used for
the desired content to not be call-clobbered.

Fix the Linux inline syscall templates by adding temporary variables,
much like what x86 did before
(commit 381a0c26d73e0f074c962e0ab53b99a6c327066d).

[1]: https://gcc.gnu.org/onlinedocs/gcc/Local-Register-Variables.html

Reference:
https://savannah.gnu.org/bugs/index.php?57781
https://bugs.gentoo.org/708758
https://sourceware.org/bugzilla/show_bug.cgi?id=25523
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4fbba6fe904d0094ddc4284066b3860d119cbd4a
https://sourceware.org/legacy-ml/libc-alpha/2020-02/msg00206.html
https://gcc.gnu.org/onlinedocs/gcc/Local-Register-Variables.html

Signed-off-by: Zhou Zhifa <zhou.zhifa@h3c.com>
2023-07-17 08:22:58 +00:00