about summary refs log tree commit diff
path: root/linuxthreads
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2004-12-04 21:20:42 +0000
committerRoland McGrath <roland@gnu.org>2004-12-04 21:20:42 +0000
commit577e4aa1ec5462ead3af4ba2236881ed4672f01e (patch)
tree87948205c3d9250bd57065380599325f77cc152d /linuxthreads
parent3f488b9cddc0a49b0860a3714eb7a77019482d38 (diff)
downloadglibc-577e4aa1ec5462ead3af4ba2236881ed4672f01e.tar.gz
glibc-577e4aa1ec5462ead3af4ba2236881ed4672f01e.tar.xz
glibc-577e4aa1ec5462ead3af4ba2236881ed4672f01e.zip
* sysdeps/arm/sysdep.h: Define __USE_BX__ if bx is available.
	Use it instead of __THUMB_INTERWORK__.  Make RETINSTR take
	only a condition and a register.
	* sysdeps/arm/dl-machine.h: Use __USE_BX__ instead of
	__THUMB_INTERWORK__.
	(_dl_start_user): Use BX.
	* sysdeps/arm/strlen.S: Use DO_RET.
	* sysdeps/unix/arm/brk.S, sysdeps/unix/arm/fork.S,
	sysdeps/unix/arm/sysdep.S, sysdeps/unix/arm/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/arm/clone.S,
	sysdeps/unix/sysv/linux/arm/mmap.S,
	sysdeps/unix/sysv/linux/arm/mmap64.S,
	sysdeps/unix/sysv/linux/arm/socket.S,
	sysdeps/unix/sysv/linux/arm/sysdep.h,
	sysdeps/unix/sysv/linux/arm/vfork.S: Update uses of RETINSTR.
Diffstat (limited to 'linuxthreads')
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h2
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/arm/vfork.S4
3 files changed, 8 insertions, 3 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index e983f61b34..d9cf6d7951 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,8 @@
+2004-11-18  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/arm/sysdep-cancel.h: Update RETINSTR use.
+	* sysdeps/unix/sysv/linux/arm/vfork.S: Likewise.
+
 2004-12-02  Roland McGrath  <roland@redhat.com>
 
 	* Makefile (libpthread-nonshared): Variable removed.
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h b/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
index 92d8460e26..019bd54913 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
+++ b/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
@@ -112,7 +112,7 @@ extern int __local_multiple_threads attribute_hidden;
 #   define MAYBE_SAVE_LR						\
   str lr, [sp, $-4]!;
 #   define PSEUDO_RET_MOV						\
-  RETINSTR(movcc, pc, lr);						\
+  RETINSTR(cc, lr);							\
   b PLTJMP(SYSCALL_ERROR)
 #   define PSEUDO_PROLOGUE
 #  else
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/arm/vfork.S b/linuxthreads/sysdeps/unix/sysv/linux/arm/vfork.S
index 23687342d1..2708c701eb 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/arm/vfork.S
+++ b/linuxthreads/sysdeps/unix/sysv/linux/arm/vfork.S
@@ -46,7 +46,7 @@ ENTRY (__vfork)
 		
 	swi	__NR_vfork
 	cmn	a1, #4096
-	RETINSTR(movcc, pc, lr)
+	RETINSTR(cc, lr)
 
 #ifndef __ASSUME_VFORK_SYSCALL
 	/* Check if vfork syscall is known at all.  */
@@ -60,7 +60,7 @@ ENTRY (__vfork)
 	/* If we don't have vfork, fork is close enough.  */
 	swi	__NR_fork
 	cmn	a1, #4096
-	RETINSTR(movcc, pc, lr)
+	RETINSTR(cc, lr)
 #elif !defined __NR_vfork
 # error "__NR_vfork not available and __ASSUME_VFORK_SYSCALL defined"
 #endif