summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2008-10-24 18:18:16 -0400
committerMike Frysinger <vapier@gentoo.org>2009-02-02 12:24:40 -0500
commit6957a6209b02f6b69607fc47425f13731cc477f1 (patch)
tree8b71de640a10d7685d0ae33abf0ad507c849e477
parentee1d2001ea7fbabb2b9256026dc5468f057337f8 (diff)
Blackfin: enable --gc-sections
Start building all Blackfin boards with -ffunction-sections/-fdata-sections and linking with --gc-sections. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-rw-r--r--blackfin_config.mk3
-rw-r--r--cpu/blackfin/Makefile1
2 files changed, 4 insertions, 0 deletions
diff --git a/blackfin_config.mk b/blackfin_config.mk
index 7bde449263..b2d94d5562 100644
--- a/blackfin_config.mk
+++ b/blackfin_config.mk
@@ -27,6 +27,9 @@ CONFIG_BFIN_BOOT_MODE := $(strip $(subst ",,$(CONFIG_BFIN_BOOT_MODE)))
PLATFORM_RELFLAGS += -ffixed-P5 -fomit-frame-pointer
PLATFORM_CPPFLAGS += -DCONFIG_BLACKFIN
+LDFLAGS += --gc-sections
+PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections
+
ifneq (,$(CONFIG_BFIN_CPU))
PLATFORM_RELFLAGS += -mcpu=$(CONFIG_BFIN_CPU)
endif
diff --git a/cpu/blackfin/Makefile b/cpu/blackfin/Makefile
index b4049ff874..1378fd12bb 100644
--- a/cpu/blackfin/Makefile
+++ b/cpu/blackfin/Makefile
@@ -47,6 +47,7 @@ $(obj)bootrom-asm-offsets.h: $(obj)bootrom-asm-offsets.s
# make sure our initcode (which goes into LDR) does not
# have relocs or external references
+$(obj)initcode.o: CFLAGS += -fno-function-sections -fno-data-sections
READINIT = env LC_ALL=C $(CROSS_COMPILE)readelf -s $<
check_initcode: $(obj)initcode.o
ifneq ($(CONFIG_BFIN_BOOT_MODE),BFIN_BOOT_BYPASS)