small patch for arm sysdep
Philip Blundell
Philip.Blundell@pobox.com
Thu Mar 27 00:26:00 GMT 2003
The existing definition for PSEUDO_RET_NOERRNO isn't quite correct.
"movcc" is a predicated instruction; it only returns if the carry flag
is clear. What's needed here is an unconditional return.
p.
2003-03-27 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO_RET_NOERRNO): Use
unconditional mov. Remove nop.
Index: sysdeps/unix/sysv/linux/arm/sysdep.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/arm/sysdep.h,v
retrieving revision 1.23
diff -u -r1.23 sysdep.h
--- sysdeps/unix/sysv/linux/arm/sysdep.h 24 Mar 2003 19:00:28 -0000 1.23
+++ sysdeps/unix/sysv/linux/arm/sysdep.h 27 Mar 2003 00:17:34 -0000
@@ -71,8 +71,8 @@
DO_CALL (syscall_name, args);
#define PSEUDO_RET_NOERRNO \
- RETINSTR(movcc, pc, lr); \
- nop
+ RETINSTR(mov, pc, lr);
+
#undef ret_NOERRNO
#define ret_NOERRNO PSEUDO_RET_NOERRNO
More information about the Libc-hacker
mailing list