diff options
author | Roland McGrath <roland@gnu.org> | 2004-12-04 21:20:42 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2004-12-04 21:20:42 +0000 |
commit | 577e4aa1ec5462ead3af4ba2236881ed4672f01e (patch) | |
tree | 87948205c3d9250bd57065380599325f77cc152d /sysdeps/unix/sysv/linux/arm | |
parent | 3f488b9cddc0a49b0860a3714eb7a77019482d38 (diff) | |
download | glibc-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 'sysdeps/unix/sysv/linux/arm')
-rw-r--r-- | sysdeps/unix/sysv/linux/arm/clone.S | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/arm/mmap.S | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/arm/mmap64.S | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/arm/socket.S | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/arm/sysdep.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/arm/vfork.S | 4 |
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" |