diff mbox

[arm] Fix bug in _nocancel system call stubs

Message ID 201103211829.p2LITTok018855@d06av02.portsmouth.uk.ibm.com
State Accepted
Headers show

Commit Message

Ulrich Weigand March 21, 2011, 6:29 p.m. UTC
Hello,

while looking at sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h
I noticed that the _nocancel variants of the system call stubs are
missing a "cmn r0, $4096" between the DO_CALL and the PSEUDO_RET,
which is present everywhere else, and is really required to set
up the condition code for PSEUDO_RET properly.

Tested on armv7l-linux-gnueabi with no regressions.

Bye,
Ulrich


ChangeLog.arm:

2011-03-21  Ulrich Weigand  <ulrich.weigand@linaro.org>

	* sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h (PSEUDO): Add
	missing "cmn r0, $4096" for _nocancel system call stubs.
diff mbox

Patch

diff --git a/sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h b/sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h
index 458558b..f2aa5e1 100644
--- a/sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h
@@ -39,6 +39,7 @@ 
     .cfi_sections .debug_frame;						\
     cfi_startproc;							\
     DO_CALL (syscall_name, args);					\
+    cmn r0, $4096;							\
     PSEUDO_RET;								\
     cfi_endproc;							\
   .size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel;	\