summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel@rtems.org>2016-03-10 13:16:30 -0600
committerJoel Sherrill <joel@rtems.org>2016-03-10 18:08:15 -0600
commit5fd3cc075d5e112cce637a22cadccad16b6bdf7d (patch)
tree9875d564cc3d176dd2348b74be70588fbefb8814
parentarm/realview_pbx_a9_qemu: Add per-section compilation and linking support (diff)
downloadrtems-5fd3cc075d5e112cce637a22cadccad16b6bdf7d.tar.bz2
arm/rtl22xx: Add per-section compilation and linking support
updates #2577. For the rtl22xx BSP variant without this option, sample executables sizes were as follows: text data bss dec hex filename 87223 1820 436320 525363 80433 ticker.exe 27915 1216 496224 525355 8042b minimum.exe 409638 12704 103008 525350 80426 pppd.exe 183260 2456 339648 525364 80434 capture.exe 105441 1908 418016 525365 80435 nsecs.exe 168295 2204 354848 525347 80423 paranoia.exe 181768 1852 341728 525348 80424 cdtest.exe 84419 1820 439136 525375 8043f base_sp.exe 86347 1828 437184 525359 8042f unlimited.exe 99595 1772 424000 525367 80437 hello.exe 252540 6596 266240 525376 80440 loopback.exe For the rtl22xx BSP variant with this option, sample executables sizes were as follows: text data bss dec hex filename 82141 1732 441472 525345 80421 ticker.exe 20545 284 504512 525341 8041d minimum.exe 379745 12484 133120 525349 80425 pppd.exe 175592 2360 347392 525344 80420 capture.exe 100851 1820 422688 525359 8042f nsecs.exe 163053 2108 360192 525353 80429 paranoia.exe 174692 1764 348896 525352 80428 cdtest.exe 79193 1732 444448 525373 8043d base_sp.exe 78701 1716 444928 525345 80421 unlimited.exe 91561 1644 432160 525365 80435 hello.exe 234116 6420 284832 525368 80438 loopback.exe For the rtl22xx_t BSP variant without this option, sample executables sizes were as follows: text data bss dec hex filename 62167 1820 461376 525363 80433 ticker.exe 21003 1216 503136 525355 8042b minimum.exe 369737 5896 149728 525361 80431 fileio.exe 286854 12704 225792 525350 80426 pppd.exe 133052 2456 389856 525364 80434 capture.exe 75437 1908 448000 525345 80421 nsecs.exe 123959 2204 399200 525363 80433 paranoia.exe 134660 1852 388864 525376 80440 cdtest.exe 60315 1820 463232 525367 80437 base_sp.exe 61767 1828 461760 525355 8042b unlimited.exe 72191 1772 451392 525355 8042b hello.exe 174588 6596 344192 525376 80440 loopback.exe For the rtl22xx_t BSP variant with this option, sample executables sizes were as follows: text data bss dec hex filename 59021 1732 464608 525361 80431 ticker.exe 15757 284 509312 525353 80429 minimum.exe 366096 1972 157280 525348 80424 cxx_iostream.exe 360911 5808 158656 525375 8043f fileio.exe 267485 12484 245376 525345 80421 pppd.exe 128224 2360 394784 525368 80438 capture.exe 72611 1820 450944 525375 8043f nsecs.exe 121041 2108 402208 525357 8042d paranoia.exe 129488 1764 394112 525364 80434 cdtest.exe 57049 1732 466592 525373 8043d base_sp.exe 56833 1716 466816 525365 80435 unlimited.exe 66921 1644 456800 525365 80435 hello.exe 163104 6420 355840 525364 80434 loopback.exe
-rw-r--r--c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx.cfg3
-rw-r--r--c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx_t.cfg4
2 files changed, 6 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx.cfg b/c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx.cfg
index f213d0c162..8d4574638a 100644
--- a/c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx.cfg
+++ b/c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx.cfg
@@ -17,3 +17,6 @@ CPU_CFLAGS = -mcpu=arm7tdmi
# NOTE2: some level of -O may be actually required by inline assembler (at least
# -O2 so far.
CFLAGS_OPTIMIZE_V = -Os -g
+CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
+
+LDFLAGS = -Wl,--gc-sections
diff --git a/c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx_t.cfg b/c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx_t.cfg
index 9f260433be..5cf8b66246 100644
--- a/c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx_t.cfg
+++ b/c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx_t.cfg
@@ -14,4 +14,6 @@ CPU_CFLAGS += -mthumb
#CPU_CFLAGS += -mthumb-interwork -D __THUMB_INTERWORK__ -mthumb
#CPU_ASFLAGS += -D __THUMB_INTERWORK__ -mthumb-interwork
-# Miscellaneous additions go here
+CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
+
+LDFLAGS = -Wl,--gc-sections