summaryrefslogtreecommitdiff
path: root/cpu/mpc5xxx/start.S
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2009-10-09 00:03:18 +0200
committerWolfgang Denk <wd@denx.de>2009-10-09 00:03:18 +0200
commitcd77dd109c4a439519a78c32eddc42bdebc7a61f (patch)
treec5534647cb1786044ef0f7e4ad4067725eddf11d /cpu/mpc5xxx/start.S
parent95c44ec485b46ffb43dbdaa299f1491a500fdadf (diff)
parentafc3ba0fc4195624e79e21244380ed7cc2fd6969 (diff)
Merge branch 'reloc'
Diffstat (limited to 'cpu/mpc5xxx/start.S')
-rw-r--r--cpu/mpc5xxx/start.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/cpu/mpc5xxx/start.S b/cpu/mpc5xxx/start.S
index 6b1162aa5..eb42939b7 100644
--- a/cpu/mpc5xxx/start.S
+++ b/cpu/mpc5xxx/start.S
@@ -684,15 +684,17 @@ in_ram:
sub r11,r3,r11
addi r3,r3,-4
1: lwzu r0,4(r3)
+ cmpwi r0,0
+ beq- 2f
add r0,r0,r11
stw r0,0(r3)
- bdnz 1b
+2: bdnz 1b
/*
* Now adjust the fixups and the pointers to the fixups
* in case we need to move ourselves again.
*/
-2: li r0,__fixup_entries@sectoff@l
+ li r0,__fixup_entries@sectoff@l
lwz r3,GOT(_FIXUP_TABLE_)
cmpwi r0,0
mtctr r0