aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux
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 /sysdeps/unix/sysv/linux
parent3f488b9cddc0a49b0860a3714eb7a77019482d38 (diff)
downloadglibc-577e4aa1ec5462ead3af4ba2236881ed4672f01e.tar
glibc-577e4aa1ec5462ead3af4ba2236881ed4672f01e.tar.gz
glibc-577e4aa1ec5462ead3af4ba2236881ed4672f01e.tar.bz2
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 'sysdeps/unix/sysv/linux')
-rw-r--r--sysdeps/unix/sysv/linux/arm/clone.S2
-rw-r--r--sysdeps/unix/sysv/linux/arm/mmap.S4
-rw-r--r--sysdeps/unix/sysv/linux/arm/mmap64.S4
-rw-r--r--sysdeps/unix/sysv/linux/arm/socket.S4
-rw-r--r--sysdeps/unix/sysv/linux/arm/sysdep.h4
-rw-r--r--sysdeps/unix/sysv/linux/arm/vfork.S4
6 files changed, 11 insertions, 11 deletions
diff --git a/sysdeps/unix/sysv/linux/arm/clone.S b/sysdeps/unix/sysv/linux/arm/clone.S
index 1c6f7861cf..bf07fb3952 100644
--- a/sysdeps/unix/sysv/linux/arm/clone.S
+++ b/sysdeps/unix/sysv/linux/arm/clone.S
@@ -45,7 +45,7 @@ ENTRY(__clone)
swi SYS_ify(clone)
movs a1, a1
blt PLTJMP(C_SYMBOL_NAME(__syscall_error))
- RETINSTR(movne, pc, lr)
+ RETINSTR(ne, lr)
@ pick the function arg and call address off the stack and execute
ldr r0, [sp, #4]
diff --git a/sysdeps/unix/sysv/linux/arm/mmap.S b/sysdeps/unix/sysv/linux/arm/mmap.S
index 7beba6841c..cf6f253378 100644
--- a/sysdeps/unix/sysv/linux/arm/mmap.S
+++ b/sysdeps/unix/sysv/linux/arm/mmap.S
@@ -51,7 +51,7 @@ ENTRY (__mmap)
ldr r5, [sp], #4
cmn r0, $4096
- RETINSTR(movcc, pc, lr)
+ RETINSTR(cc, lr)
b PLTJMP(syscall_error)
.Linval:
@@ -83,7 +83,7 @@ ENTRY (__mmap)
add sp, sp, #16
cmn r0, $4096
- RETINSTR(movcc, pc, lr)
+ RETINSTR(cc, lr)
b PLTJMP(syscall_error);
#endif
diff --git a/sysdeps/unix/sysv/linux/arm/mmap64.S b/sysdeps/unix/sysv/linux/arm/mmap64.S
index f8361b5cbf..b4b712c2f2 100644
--- a/sysdeps/unix/sysv/linux/arm/mmap64.S
+++ b/sysdeps/unix/sysv/linux/arm/mmap64.S
@@ -43,12 +43,12 @@ ENTRY (__mmap64)
# ifdef __ASSUME_MMAP2_SYSCALL
ldr r4, [sp], #4
ldr r5, [sp], #4
- RETINSTR(movcc, pc, lr)
+ RETINSTR(cc, lr)
b PLTJMP(syscall_error)
# else
ldrcc r4, [sp], #4
ldrcc r5, [sp], #4
- RETINSTR(movcc, pc, lr)
+ RETINSTR(cc, lr)
cmn r0, $ENOSYS
bne .Lerror
/* The current kernel does not support mmap2. Fall back to plain
diff --git a/sysdeps/unix/sysv/linux/arm/socket.S b/sysdeps/unix/sysv/linux/arm/socket.S
index 3e93ceb6d2..212a489afe 100644
--- a/sysdeps/unix/sysv/linux/arm/socket.S
+++ b/sysdeps/unix/sysv/linux/arm/socket.S
@@ -91,7 +91,7 @@ ENTRY (__socket)
/* r0 is < 0 if there was an error. */
cmn r0, $124
- RETINSTR(movcc, pc, r14)
+ RETINSTR(cc, r14)
b PLTJMP(SYSCALL_ERROR)
#if defined NEED_CANCELLATION && defined CENABLE
@@ -114,7 +114,7 @@ ENTRY (__socket)
/* r0 is < 0 if there was an error. */
cmn r0, $124
- RETINSTR(movcc, pc, r14)
+ RETINSTR(cc, r14)
b PLTJMP(SYSCALL_ERROR)
#endif
diff --git a/sysdeps/unix/sysv/linux/arm/sysdep.h b/sysdeps/unix/sysv/linux/arm/sysdep.h
index fda7c5b267..668aa1a2f1 100644
--- a/sysdeps/unix/sysv/linux/arm/sysdep.h
+++ b/sysdeps/unix/sysv/linux/arm/sysdep.h
@@ -54,7 +54,7 @@
cmn r0, $4096;
#define PSEUDO_RET \
- RETINSTR(movcc, pc, lr); \
+ RETINSTR(cc, lr); \
b PLTJMP(SYSCALL_ERROR)
#undef ret
#define ret PSEUDO_RET
@@ -71,7 +71,7 @@
DO_CALL (syscall_name, args);
#define PSEUDO_RET_NOERRNO \
- RETINSTR(mov, pc, lr);
+ DO_RET (lr);
#undef ret_NOERRNO
#define ret_NOERRNO PSEUDO_RET_NOERRNO
diff --git a/sysdeps/unix/sysv/linux/arm/vfork.S b/sysdeps/unix/sysv/linux/arm/vfork.S
index bba1a548ba..9ef5114b24 100644
--- a/sysdeps/unix/sysv/linux/arm/vfork.S
+++ b/sysdeps/unix/sysv/linux/arm/vfork.S
@@ -32,7 +32,7 @@ ENTRY (__vfork)
#ifdef __NR_vfork
swi __NR_vfork
cmn a1, #4096
- RETINSTR(movcc, pc, lr)
+ RETINSTR(cc, lr)
# ifdef __ASSUME_VFORK_SYSCALL
b PLTJMP(C_SYMBOL_NAME(__syscall_error))
@@ -47,7 +47,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)
b PLTJMP(C_SYMBOL_NAME(__syscall_error))
#elif !defined __NR_vfork
# error "__NR_vfork not available and __ASSUME_VFORK_SYSCALL defined"