diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-11-23 15:59:18 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-11-23 15:59:18 +0000 |
commit | db265136088a05a0d525f6bd365083a2931bf4cc (patch) | |
tree | ae90bc9f54c843e0c5f31d97493d271f8620b37c /cpukit/score/cpu/arm/arm_exc_abort.S | |
parent | 2010-11-23 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff) | |
download | rtems-db265136088a05a0d525f6bd365083a2931bf4cc.tar.bz2 |
2010-11-23 Gedare Bloom <giddyup44@yahoo.com>
PR 1719/cpukit
* arm_exc_abort.S: Avoid "bx" instruction to support ARMv4 and below.
Diffstat (limited to 'cpukit/score/cpu/arm/arm_exc_abort.S')
-rw-r--r-- | cpukit/score/cpu/arm/arm_exc_abort.S | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/cpukit/score/cpu/arm/arm_exc_abort.S b/cpukit/score/cpu/arm/arm_exc_abort.S index 704d713f2c..cd2491fb14 100644 --- a/cpukit/score/cpu/arm/arm_exc_abort.S +++ b/cpukit/score/cpu/arm/arm_exc_abort.S @@ -51,7 +51,11 @@ prefetch_abort_handler: arm_exc_data_abort_set_handler: ldr r1, =data_abort_handler str r0, [r1] +#ifdef __thumb__ bx lr +#else + mov pc, lr +#endif #ifdef __thumb__ .thumb_func @@ -60,7 +64,11 @@ arm_exc_data_abort_set_handler: arm_exc_prefetch_abort_set_handler: ldr r1, =prefetch_abort_handler str r0, [r1] +#ifdef __thumb__ bx lr +#else + mov pc, lr +#endif .arm @@ -103,7 +111,7 @@ save_more_context: moveq r0, #0xaa #ifndef __thumb__ mov lr, pc - bx r2 + mov pc, r2 #else /* __thumb__ */ SWITCH_FROM_ARM_TO_THUMB r1 bl call_handler |