This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH][arm] Fix bug in _nocancel system call stubs


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 --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;	\
-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  Ulrich.Weigand@de.ibm.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]