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

Joakim Tjernlund Joakim.Tjernlund at transmode.se
Tue Nov 23 19:48:49 CET 2010


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

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_ at local-4
+	mflr	r30
+#endif
 	/* r3: IMMR */
 	lis	r3, CONFIG_SYS_IMMR at 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_ at local-4
+	mflr	r30
+#endif
 	lwz	r4, GOT(_start)	/* Source Address */
 	addi	r4, r4, -EXC_OFF_SYS_RESET
 	lwz	r5, GOT(__bss_start)
-- 
1.7.2.2



More information about the U-Boot mailing list