@@ -27,6 +27,11 @@ BIG_ENDIAN = y
PLATFORM_RELFLAGS += -fno-common -ffixed-r8 -msoft-float -mbig-endian
PLATFORM_CPPFLAGS += -mbig-endian -march=armv5te -mtune=strongarm1100
+
+# -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
@@ -31,8 +31,8 @@ SECTIONS
. = ALIGN(4);
.text :
{
- arch/arm/cpu/ixp/start.o(.text)
- *(.text)
+ arch/arm/cpu/ixp/start.o(.text*)
+ *(.text*)
}
. = ALIGN(4);
@@ -40,7 +40,7 @@ SECTIONS
. = ALIGN(4);
.data : {
- *(.data)
+ *(.data*)
}
. = ALIGN(4);
@@ -67,7 +67,7 @@ SECTIONS
.bss __rel_dyn_start (OVERLAY) : {
__bss_start = .;
- *(.bss)
+ *(.bss*)
. = ALIGN(4);
__bss_end__ = .;
}
Signed-off-by: Michael Schwingen <michael@schwingen.org> --- Changes for V2: - remove changes from config.mk and board config.h files - add wildcards to sections in arch/arm/cpu/ixp/u-boot.lds Changes for V3: - set compiler/linker flags in arch/arm/cpu/ixp/config.mk instead of per-board config.mk files Changes for V4: - add changelog arch/arm/cpu/ixp/config.mk | 5 +++++ arch/arm/cpu/ixp/u-boot.lds | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-)