[U-Boot] [PATCH] arm: Enable -ffunction-sections / -fdata-sections / --gc-sections

While other architectures have enabled these gcc / ld options for some time on U-Boot itself, ARM has only been doing this on SPL. Enable this on full U-Boot as well now.
Cc: Albert ARIBAUD albert.u.boot@aribaud.net Signed-off-by: Tom Rini trini@ti.com --- arch/arm/config.mk | 3 +++ arch/arm/cpu/ixp/config.mk | 4 ---- 2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/arch/arm/config.mk b/arch/arm/config.mk index 461899e..dc64160 100644 --- a/arch/arm/config.mk +++ b/arch/arm/config.mk @@ -31,6 +31,9 @@ CONFIG_STANDALONE_LOAD_ADDR = 0xc100000 endif endif
+LDFLAGS_FINAL += --gc-sections +PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections + # Support generic board on ARM __HAVE_ARCH_GENERIC_BOARD := y
diff --git a/arch/arm/cpu/ixp/config.mk b/arch/arm/cpu/ixp/config.mk index b02e8af..fd3c29f 100644 --- a/arch/arm/cpu/ixp/config.mk +++ b/arch/arm/cpu/ixp/config.mk @@ -31,10 +31,6 @@ PLATFORM_CPPFLAGS += -mbig-endian -march=armv5te -mtune=strongarm1100 PLATFORM_LDFLAGS += -EB USE_PRIVATE_LIBGCC = yes
-# -fdata-sections triggers "section .bss overlaps section .rel.dyn" linker error -PLATFORM_RELFLAGS += -ffunction-sections -LDFLAGS_u-boot += --gc-sections - # ========================================================================= # # Supply options according to compiler version

Hi Tom,
On Thu, 25 Apr 2013 13:40:22 -0400, Tom Rini trini@ti.com wrote:
While other architectures have enabled these gcc / ld options for some time on U-Boot itself, ARM has only been doing this on SPL. Enable this on full U-Boot as well now.
I expect this was tested on various targets?
Amicalement,

On Thu, May 23, 2013 at 12:08:09PM +0200, Albert ARIBAUD wrote:
Hi Tom,
On Thu, 25 Apr 2013 13:40:22 -0400, Tom Rini trini@ti.com wrote:
While other architectures have enabled these gcc / ld options for some time on U-Boot itself, ARM has only been doing this on SPL. Enable this on full U-Boot as well now.
I expect this was tested on various targets?
I build-tested eldk 4.2/5.2 and the Linaro 4.7 that Ubuntu has available, with no build failures. I spot checked what was being dropped on am335x and some omap3/4 platforms and it looked correct, and I did boot test am335x.

Hi Tom,
On Thu, 25 Apr 2013 13:40:22 -0400, Tom Rini trini@ti.com wrote:
While other architectures have enabled these gcc / ld options for some time on U-Boot itself, ARM has only been doing this on SPL. Enable this on full U-Boot as well now.
Cc: Albert ARIBAUD albert.u.boot@aribaud.net Signed-off-by: Tom Rini trini@ti.com
arch/arm/config.mk | 3 +++ arch/arm/cpu/ixp/config.mk | 4 ---- 2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/arch/arm/config.mk b/arch/arm/config.mk index 461899e..dc64160 100644 --- a/arch/arm/config.mk +++ b/arch/arm/config.mk @@ -31,6 +31,9 @@ CONFIG_STANDALONE_LOAD_ADDR = 0xc100000 endif endif
+LDFLAGS_FINAL += --gc-sections +PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections
# Support generic board on ARM __HAVE_ARCH_GENERIC_BOARD := y
diff --git a/arch/arm/cpu/ixp/config.mk b/arch/arm/cpu/ixp/config.mk index b02e8af..fd3c29f 100644 --- a/arch/arm/cpu/ixp/config.mk +++ b/arch/arm/cpu/ixp/config.mk @@ -31,10 +31,6 @@ PLATFORM_CPPFLAGS += -mbig-endian -march=armv5te -mtune=strongarm1100 PLATFORM_LDFLAGS += -EB USE_PRIVATE_LIBGCC = yes
-# -fdata-sections triggers "section .bss overlaps section .rel.dyn" linker error -PLATFORM_RELFLAGS += -ffunction-sections -LDFLAGS_u-boot += --gc-sections
# ========================================================================= # # Supply options according to compiler version
Applied to u-boot-arm/master, thanks!
Amicalement,
participants (2)
-
Albert ARIBAUD
-
Tom Rini