diff options
| author | Vlad Lungu <vlad.lungu@windriver.com> | 2008-05-05 14:04:00 +0300 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2008-05-05 13:24:12 +0200 | 
| commit | 0f8c62a14b523c56874ebcb67c1a16c99aad48b3 (patch) | |
| tree | e09f3f2b8fa1cb239e5422584f9ab2c4100e4564 | |
| parent | 7c0773fde6100b61be2558cb5d8c442a3194aecb (diff) | |
| download | olio-uboot-2014.01-0f8c62a14b523c56874ebcb67c1a16c99aad48b3.tar.xz olio-uboot-2014.01-0f8c62a14b523c56874ebcb67c1a16c99aad48b3.zip | |
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>
| -rw-r--r-- | cpu/mips/start.S | 9 | 
1 files changed, 6 insertions, 3 deletions
| diff --git a/cpu/mips/start.S b/cpu/mips/start.S index 6e1a78cea..947128dd8 100644 --- a/cpu/mips/start.S +++ b/cpu/mips/start.S @@ -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: |