ARM,relocate: do not use r9
r9 is a platform-specific register in ARM EABI and not per definition a general purpose register. Do not use it while relocating so it can be used for gd. cc: Albert ARIBAUD <albert.u.boot@aribaud.net> Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
This commit is contained in:
parent
3102274d8b
commit
a81872ff27
@ -22,7 +22,7 @@
|
||||
|
||||
ENTRY(relocate_code)
|
||||
ldr r1, =__image_copy_start /* r1 <- SRC &__image_copy_start */
|
||||
subs r9, r0, r1 /* r9 <- relocation offset */
|
||||
subs r4, r0, r1 /* r4 <- relocation offset */
|
||||
beq relocate_done /* skip relocation */
|
||||
ldr r2, =__image_copy_end /* r2 <- SRC &__image_copy_end */
|
||||
|
||||
@ -44,9 +44,9 @@ fixloop:
|
||||
bne fixnext
|
||||
|
||||
/* relative fix: increase location by offset */
|
||||
add r0, r0, r9
|
||||
add r0, r0, r4
|
||||
ldr r1, [r0]
|
||||
add r1, r1, r9
|
||||
add r1, r1, r4
|
||||
str r1, [r0]
|
||||
fixnext:
|
||||
cmp r2, r3
|
||||
|
Loading…
Reference in New Issue
Block a user