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

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


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

small patch for arm sysdep


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 at gnu dot 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
 




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