[U-Boot] [PATCH] mpc83xx: Add support for -msingle-pic-base

Joakim Tjernlund joakim.tjernlund at infinera.com
Wed Nov 28 09:59:55 UTC 2018


-msingle-pic-base is a new gcc(from 4.6) option for ppc and
it reduces the size of my u-boot with about 4 KB.
While at it, add -fno-jump-tables too to save a
few more bytes.

Signed-off-by: Joakim Tjernlund <joakim.tjernlund at infinera.com>
---

 I think all PowerPC's can use this but I have only tested
 83xx so just enable for this cpu for now.

 arch/powerpc/cpu/mpc83xx/config.mk | 1 +
 arch/powerpc/cpu/mpc83xx/start.S   | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/arch/powerpc/cpu/mpc83xx/config.mk b/arch/powerpc/cpu/mpc83xx/config.mk
index 14870eec4d..a07df4d389 100644
--- a/arch/powerpc/cpu/mpc83xx/config.mk
+++ b/arch/powerpc/cpu/mpc83xx/config.mk
@@ -3,3 +3,4 @@
 # Copyright 2004 Freescale Semiconductor, Inc.
 
 PLATFORM_CPPFLAGS += -DCONFIG_E300 -msoft-float
+PLATFORM_RELFLAGS += -msingle-pic-base -fno-jump-tables
diff --git a/arch/powerpc/cpu/mpc83xx/start.S b/arch/powerpc/cpu/mpc83xx/start.S
index a3bacf138c..c00bb31363 100644
--- a/arch/powerpc/cpu/mpc83xx/start.S
+++ b/arch/powerpc/cpu/mpc83xx/start.S
@@ -288,6 +288,9 @@ in_flash:
 	/*------------------------------------------------------*/
 
 	GET_GOT			/* initialize GOT access	*/
+	/* Needed for -msingle-pic-base */
+	bl	_GLOBAL_OFFSET_TABLE_ at local-4
+	mflr	r30
 
 	/* r3: IMMR */
 	lis	r3, CONFIG_SYS_IMMR at h
-- 
2.18.1



More information about the U-Boot mailing list