|
@@ -165,7 +165,7 @@ relocate_code:
|
|
|
dsub s1, s2, t0 # s1 <-- relocation offset
|
|
|
|
|
|
dla t3, in_ram
|
|
|
- ld t2, -24(t3) # t2 <-- uboot_end_data
|
|
|
+ ld t2, -24(t3) # t2 <-- __image_copy_end
|
|
|
move t1, a2
|
|
|
|
|
|
dadd gp, s1 # adjust gp
|
|
@@ -193,9 +193,8 @@ relocate_code:
|
|
|
jr t0
|
|
|
nop
|
|
|
|
|
|
+ .dword __image_copy_end
|
|
|
.dword _GLOBAL_OFFSET_TABLE_
|
|
|
- .dword uboot_end_data
|
|
|
- .dword uboot_end
|
|
|
.dword num_got_entries
|
|
|
|
|
|
in_ram:
|
|
@@ -206,7 +205,7 @@ in_ram:
|
|
|
* generated by GNU ld. Skip these reserved entries from relocation.
|
|
|
*/
|
|
|
ld t3, -8(t0) # t3 <-- num_got_entries
|
|
|
- ld t8, -32(t0) # t8 <-- _GLOBAL_OFFSET_TABLE_
|
|
|
+ ld t8, -16(t0) # t8 <-- _GLOBAL_OFFSET_TABLE_
|
|
|
dadd t8, s1 # t8 now holds relocated _G_O_T_
|
|
|
daddi t8, t8, 16 # skipping first two entries
|
|
|
dli t2, 2
|