summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/arm/sysdep.h
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2015-04-18 22:41:46 +0200
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2015-04-22 20:00:24 +0200
commite71fc570caec4f2d4bbe729dfe9eb41bfe5a732a (patch)
tree3e9036c730288367ef489989e05b4452ca1116c8 /libc/sysdeps/linux/arm/sysdep.h
parent298f58e073b2782bd264edea969769b7b5e7cf41 (diff)
arm: Add BX and BXC macros
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Diffstat (limited to 'libc/sysdeps/linux/arm/sysdep.h')
-rw-r--r--libc/sysdeps/linux/arm/sysdep.h14
1 files changed, 3 insertions, 11 deletions
diff --git a/libc/sysdeps/linux/arm/sysdep.h b/libc/sysdeps/linux/arm/sysdep.h
index 64f40407e..019dc3762 100644
--- a/libc/sysdeps/linux/arm/sysdep.h
+++ b/libc/sysdeps/linux/arm/sysdep.h
@@ -21,7 +21,6 @@
#include <common/sysdep.h>
#include <bits/arm_bx.h>
-
#include <sys/syscall.h>
/* For Linux we can use the system call table in the header file
/usr/include/asm/unistd.h
@@ -50,17 +49,10 @@
#ifdef __APCS_32__
#define LOADREGS(cond, base, reglist...)\
ldm##cond base,reglist
-#ifdef __USE_BX__
-#define RETINSTR(cond, reg) \
- bx##cond reg
-#define DO_RET(_reg) \
- bx _reg
-#else
-#define RETINSTR(cond, reg) \
- mov##cond pc, reg
+#define RETINSTR(cond, reg) \
+ BXC(cond, reg)
#define DO_RET(_reg) \
- mov pc, _reg
-#endif
+ BX(_reg)
#else /* APCS-26 */
#define LOADREGS(cond, base, reglist...) \
ldm##cond base,reglist^