mirror of
git://sourceware.org/git/glibc.git
synced 2025-03-01 13:17:19 +08:00
AArch64: Fix handling of nocancel syscall failures
The current code for nocancel syscalls does not do a comparison of the system call return value. This leads to code being generated where the b.cs follows the svc instruction directly without setting the flags on which the branch depends. ChangeLog: 2014-05-20 Will Newton <will.newton@linaro.org> * sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h (PSEUDO): Test the return value of the system call in the nocancel case.
This commit is contained in:
parent
7d05a8168b
commit
a60339aaff
@ -1,3 +1,8 @@
|
||||
2014-05-20 Will Newton <will.newton@linaro.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h (PSEUDO):
|
||||
Test the return value of the system call in the nocancel case.
|
||||
|
||||
2014-05-20 Will Newton <will.newton@linaro.org>
|
||||
Yvan Roux <yvan.roux@linaro.org>
|
||||
|
||||
|
@ -32,6 +32,7 @@
|
||||
__##syscall_name##_nocancel: \
|
||||
cfi_startproc; \
|
||||
DO_CALL (syscall_name, args); \
|
||||
cmn x0, 4095; \
|
||||
PSEUDO_RET; \
|
||||
cfi_endproc; \
|
||||
.size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel; \
|
||||
|
Loading…
Reference in New Issue
Block a user