summaryrefslogtreecommitdiffstats
path: root/arch/arm/lib32
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2018-03-07 10:04:07 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2018-03-21 12:22:59 +0100
commita43e2bbc468a71fb8825e8acafb7fac7ad7c6dad (patch)
tree9f250072ef45f63cfabbe85a6fd93a6b87299787 /arch/arm/lib32
parentff7d9b9e97df59d010ca6299b4b96ffef42df935 (diff)
downloadbarebox-a43e2bbc468a71fb8825e8acafb7fac7ad7c6dad.tar.gz
barebox-a43e2bbc468a71fb8825e8acafb7fac7ad7c6dad.tar.xz
ARM: return positive offset in get_runtime_offset()
When we are linked at 0x0 and running at 0x01000000 then get_runtime_offset() should return 0x01000000 and not 0xff000000. This makes get_runtime_offset() more consistent and better understandable. This was tested on a Freescale i.MX53 Quickstart board. Additionally relocate_to_adr() was tested since that is normally not called. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/lib32')
-rw-r--r--arch/arm/lib32/runtime-offset.S4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/lib32/runtime-offset.S b/arch/arm/lib32/runtime-offset.S
index 7375cb961b..39b525b187 100644
--- a/arch/arm/lib32/runtime-offset.S
+++ b/arch/arm/lib32/runtime-offset.S
@@ -10,8 +10,8 @@
ENTRY(get_runtime_offset)
1: adr r0, 1b
ldr r1, linkadr
- subs r0, r1, r0
-THUMB( subs r0, r0, #1)
+ subs r0, r0, r1
+THUMB( adds r0, r0, #1)
mov pc, lr
linkadr: