diff options
Diffstat (limited to 'sysdeps/arm/sysdep.h')
-rw-r--r-- | sysdeps/arm/sysdep.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sysdeps/arm/sysdep.h b/sysdeps/arm/sysdep.h index 4bc7d827b8..cb3f105afe 100644 --- a/sysdeps/arm/sysdep.h +++ b/sysdeps/arm/sysdep.h @@ -52,11 +52,20 @@ ldm##cond base,reglist #define RETINSTR(instr, regs...)\ instr regs +#ifdef __THUMB_INTERWORK__ +#define DO_RET(_reg) \ + bx _reg +#else +#define DO_RET(_reg) \ + mov pc, _reg +#endif #else /* APCS-26 */ #define LOADREGS(cond, base, reglist...)\ ldm##cond base,reglist^ #define RETINSTR(instr, regs...)\ instr##s regs +#define DO_RET(_reg) \ + movs pc, _reg #endif /* Define an entry point visible from C. */ |