Allow building mips versions with ELDK 3.1.1

.gpword works only with local symbols on certain binutils versions

Signed-off-by: Vlad Lungu <vlad.lungu@windrvier.com>
This commit is contained in:
Vlad Lungu 2008-05-05 14:04:00 +03:00 committed by Wolfgang Denk
parent 7c0773fde6
commit 0f8c62a14b
1 changed files with 6 additions and 3 deletions

View File

@ -345,7 +345,8 @@ relocate_code:
jr t0
nop
.gpword _GLOBAL_OFFSET_TABLE_ /* _GLOBAL_OFFSET_TABLE_ - _gp */
.word _gp
.word _GLOBAL_OFFSET_TABLE_
.word uboot_end_data
.word uboot_end
.word num_got_entries
@ -358,8 +359,10 @@ in_ram:
* generated by GNU ld. Skip these reserved entries from relocation.
*/
lw t3, -4(t0) /* t3 <-- num_got_entries */
lw t4, -16(t0) /* t4 <-- (_GLOBAL_OFFSET_TABLE_ - _gp) */
add t4, t4, gp /* t4 now holds _GLOBAL_OFFSET_TABLE_ */
lw t4, -16(t0) /* t4 <-- _GLOBAL_OFFSET_TABLE_ */
lw t5, -20(t0) /* t5 <-- _gp */
sub t4, t5 /* compute offset*/
add t4, t4, gp /* t4 now holds relocated _GLOBAL_OFFSET_TABLE_ */
addi t4, t4, 8 /* Skipping first two entries. */
li t2, 2
1: