[Bug libc/25523] MIPS/Linux inline syscall template is miscompiled
cvs-commit at gcc dot gnu.org
sourceware-bugzilla@sourceware.org
Sun Feb 16 13:00:00 GMT 2020
https://sourceware.org/bugzilla/show_bug.cgi?id=25523
--- Comment #12 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The release/2.31/master branch has been updated by Aurelien Jarno
<aurel32@sourceware.org>:
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=f4f884351533601863351dd8a0d79e59471372da
commit f4f884351533601863351dd8a0d79e59471372da
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date: Mon Feb 10 10:19:29 2020 -0300
microblaze: Avoid clobbering register parameters in syscall
The microblaze INTERNAL_SYSCALL macro might clobber the register
parameter if the argument itself might clobber any register (a function
call for instance).
This patch fixes it by using temporary variables for the expressions
between the register assignments (as indicated by GCC documentation,
6.47.5.2 Specifying Registers for Local Variables).
It is similar to the fix done for MIPS (bug 25523).
Checked with microblaze-linux-gnu and microblazeel-linux-gnu build.
(cherry picked from commit 6cc8fc7c1506e8084d65b078ff5b05a92e17a28a)
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Glibc-bugs
mailing list