Patchwork [U-Boot,4/6] mpc83xx: Add support form -msingle-pic-base

login
register
mail settings
Submitter Joakim Tjernlund
Date Nov. 23, 2010, 6:48 p.m.
Message ID <1290538131-12383-5-git-send-email-Joakim.Tjernlund@transmode.se>
Download mbox | patch
Permalink /patch/72719/
State RFC
Headers show

Comments

Joakim Tjernlund - Nov. 23, 2010, 6:48 p.m.
singel-pic-base is pending inclusinon in gcc and is useful
for reducing code size and impl. true PIC.
---
 arch/powerpc/cpu/mpc83xx/start.S |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

Patch

diff --git a/arch/powerpc/cpu/mpc83xx/start.S b/arch/powerpc/cpu/mpc83xx/start.S
index ec65f40..3d4e288 100644
--- a/arch/powerpc/cpu/mpc83xx/start.S
+++ b/arch/powerpc/cpu/mpc83xx/start.S
@@ -298,7 +298,11 @@  in_flash:
 	/*------------------------------------------------------*/
 
 	GET_GOT			/* initialize GOT access	*/
-
+#if defined(__pic__) && __pic__ == 1
+	/* Needed for upcoming -msingle-pic-base */
+	bl	_GLOBAL_OFFSET_TABLE_@local-4
+	mflr	r30
+#endif
 	/* r3: IMMR */
 	lis	r3, CONFIG_SYS_IMMR@h
 	/* run low-level CPU init code (in Flash)*/
@@ -860,7 +864,11 @@  relocate_code:
 	mr	r10, r5		/* Save copy of Destination Address */
 
 	GET_GOT
-
+#if defined(__pic__) && __pic__ == 1
+	/* Needed for upcoming -msingle-pic-base */
+	bl	_GLOBAL_OFFSET_TABLE_@local-4
+	mflr	r30
+#endif
 	lwz	r4, GOT(_start)	/* Source Address */
 	addi	r4, r4, -EXC_OFF_SYS_RESET
 	lwz	r5, GOT(__bss_start)