summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/arm/syscall-eabi.S
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2006-02-11 04:29:52 +0000
committerMike Frysinger <vapier@gentoo.org>2006-02-11 04:29:52 +0000
commit8bb7fcac75daf9aa42de151ac655ef14645dad82 (patch)
treebcdc193b4cf98187b4bb8302b7be1b9df62bd966 /libc/sysdeps/linux/arm/syscall-eabi.S
parent1482547961dfb38c0b9f5b77f402cbeb2fa71299 (diff)
Joseph S. Myers writes:
This patch fixes some of the ARM EABI code to be interworking-safe, using bx where appropriate. (This code went in around the same time as the Thumb patches, hence not being fixed by those patches.)
Diffstat (limited to 'libc/sysdeps/linux/arm/syscall-eabi.S')
-rw-r--r--libc/sysdeps/linux/arm/syscall-eabi.S4
1 files changed, 4 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/arm/syscall-eabi.S b/libc/sysdeps/linux/arm/syscall-eabi.S
index 761051754..efc30690c 100644
--- a/libc/sysdeps/linux/arm/syscall-eabi.S
+++ b/libc/sysdeps/linux/arm/syscall-eabi.S
@@ -37,7 +37,11 @@ syscall:
swi 0x0
ldmfd sp!, {r4, r5, r6, r7}
cmn r0, #4096
+#if defined(__USE_BX__)
+ bxcc lr
+#else
movcc pc, lr
+#endif
b __syscall_error
.size syscall,.-syscall