From: Vlad Lungu <vlad.lungu@windriver.com>
Date: Mon, 5 May 2008 11:04:00 +0000 (+0300)
Subject: Allow building mips versions with ELDK 3.1.1
X-Git-Tag: v2025.01-rc5-pxa1908~22163^2
X-Git-Url: http://git.dujemihanovic.xyz/img/static/git-logo.png?a=commitdiff_plain;h=0f8c62a14b523c56874ebcb67c1a16c99aad48b3;p=u-boot.git

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>
---

diff --git a/cpu/mips/start.S b/cpu/mips/start.S
index 6e1a78ceac..947128dd81 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: