summaryrefslogtreecommitdiffstats
path: root/cpukit/score
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2010-11-23 16:06:49 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2010-11-23 16:06:49 +0000
commita73dc5d0edf63dbd8d535b5c4b21ebcc38bcc528 (patch)
treece7eaff92d341187776627e8b15162fb8a7bfea9 /cpukit/score
parent2010-11-16 Joel Sherrill <joel.sherrilL@OARcorp.com> (diff)
downloadrtems-a73dc5d0edf63dbd8d535b5c4b21ebcc38bcc528.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')
-rw-r--r--cpukit/score/cpu/arm/ChangeLog5
-rw-r--r--cpukit/score/cpu/arm/arm_exc_abort.S10
2 files changed, 14 insertions, 1 deletions
diff --git a/cpukit/score/cpu/arm/ChangeLog b/cpukit/score/cpu/arm/ChangeLog
index e7c347f590..0b85cb4fc9 100644
--- a/cpukit/score/cpu/arm/ChangeLog
+++ b/cpukit/score/cpu/arm/ChangeLog
@@ -1,3 +1,8 @@
+2010-11-23 Gedare Bloom <giddyup44@yahoo.com>
+
+ PR 1719/cpukit
+ * arm_exc_abort.S: Avoid "bx" instruction to support ARMv4 and below.
+
2010-05-10 Joel Sherrill <joel.sherrilL@OARcorp.com>
* rtems/score/arm.h: Make it a warning not error that the FPU multilib
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