summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel@rtems.org>2016-03-10 09:36:16 -0600
committerJoel Sherrill <joel@rtems.org>2016-03-10 18:06:54 -0600
commit4e059db8cc6294d2e4ffd1e399592116063e1fff (patch)
treee987c1384c8480b3a3f1a84f3e089b4762983259
parentpowerpc/mvme5500: Use shared pci_find_device() (diff)
downloadrtems-4e059db8cc6294d2e4ffd1e399592116063e1fff.tar.bz2
arm/lpc24xx (lpc17xx variants): Add per-section compilation and linking support.
updates #2577. For the lpc17xx_ea_ram BSP variant: The size of the sample executables without this option were: text data bss dec hex filename 63646 1724 33554592 33619962 200fffa ticker.exe 21634 1088 33597216 33619938 200ffe2 minimum.exe 549386 2004 33068544 33619934 200ffde cxx_iostream.exe 392562 5800 33221600 33619962 200fffa fileio.exe 299662 12616 33307680 33619958 200fff6 pppd.exe 133838 2360 33483744 33619942 200ffe6 capture.exe 75020 1812 33543104 33619936 200ffe0 nsecs.exe 125706 2100 33492160 33619966 200fffe paranoia.exe 127758 1748 33490432 33619938 200ffe2 cdtest.exe 61686 1724 33556544 33619954 200fff2 base_sp.exe 63370 1748 33554848 33619966 200fffe unlimited.exe 71414 1692 33546848 33619954 200fff2 hello.exe 180698 6500 33432768 33619966 200fffe loopback.exe The size of the sample executables with this option enabled were: text data bss dec hex filename 58982 1712 33559264 33619958 200fff6 ticker.exe 13818 280 33605856 33619954 200fff2 minimum.exe 336134 1960 33281856 33619950 200ffee cxx_iostream.exe 380810 5788 33233344 33619942 200ffe6 fileio.exe 277010 12464 33330464 33619938 200ffe2 pppd.exe 127358 2340 33490240 33619938 200ffe2 capture.exe 70672 1800 33547488 33619960 200fff8 nsecs.exe 120746 2088 33497120 33619954 200fff2 paranoia.exe 121282 1736 33496928 33619946 200ffea cdtest.exe 56902 1712 33561344 33619958 200fff6 base_sp.exe 57346 1712 33560896 33619954 200fff2 unlimited.exe 65078 1640 33553216 33619934 200ffde hello.exe 166730 6400 33446816 33619946 200ffea loopback.exe For the lpc17xx_ea_rom_int BSP variant: The size of the sample executables without this option enabled were: text data bss dec hex filename 63814 1724 33557096 33622634 2010a6a ticker.exe 21802 1088 33557704 33580594 2006632 minimum.exe 392734 5800 33553064 33951598 2060f6e fileio.exe 299830 12616 33546504 33858950 204a586 pppd.exe 134006 2360 33556488 33692854 2021cb6 capture.exe 75188 1812 33557000 33634000 20136d0 nsecs.exe 125874 2100 33556712 33684686 201fcce paranoia.exe 127926 1748 33557096 33686770 20204f2 cdtest.exe 61854 1724 33557096 33620674 20102c2 base_sp.exe 63538 1748 33557064 33622350 201094e unlimited.exe 71582 1692 33557128 33630402 20128c2 hello.exe 180866 6500 33552616 33739982 202d4ce loopback.exe The size of the sample executables with this option enabled were: text data bss dec hex filename 59150 1712 33557096 33617958 200f826 ticker.exe 13986 280 33558504 33572770 20047a2 minimum.exe 336302 1960 33556904 33895166 20532fe cxx_iostream.exe 380982 5788 33553064 33939834 205e17a fileio.exe 277178 12464 33546632 33836274 2044cf2 pppd.exe 127526 2340 33556488 33686354 2020352 capture.exe 70840 1800 33557000 33629640 20125c8 nsecs.exe 120914 2088 33556712 33679714 201e962 paranoia.exe 121450 1736 33557096 33680282 201eb9a cdtest.exe 57070 1712 33557096 33615878 200f006 base_sp.exe 57514 1712 33557096 33616322 200f1c2 unlimited.exe 65246 1640 33557160 33624046 2010fee hello.exe 166898 6400 33552712 33726010 2029e3a loopback.exe For the lpc17xx_plx800_ram BSP variant: The size of the sample executables without this option enabled were: text data bss dec hex filename 63802 1820 33554336 33619958 200fff6 ticker.exe 21630 1088 33597216 33619934 200ffde minimum.exe 549534 2100 33068320 33619954 200fff2 cxx_iostream.exe 392722 5896 33221344 33619962 200fffa fileio.exe 299802 12712 33307424 33619938 200ffe2 pppd.exe 134002 2456 33483488 33619946 200ffea capture.exe 75176 1908 33542848 33619932 200ffdc nsecs.exe 125862 2196 33491904 33619962 200fffa paranoia.exe 127922 1844 33490176 33619942 200ffe6 cdtest.exe 61850 1820 33556288 33619958 200fff6 base_sp.exe 63518 1844 33554592 33619954 200fff2 unlimited.exe 71562 1788 33546592 33619942 200ffe6 hello.exe 180854 6596 33432512 33619962 200fffa loopback.exe The size of the sample executables with this option enabled were: text data bss dec hex filename 59274 1808 33558848 33619930 200ffda ticker.exe 13814 280 33605856 33619950 200ffee minimum.exe 336418 2056 33281472 33619946 200ffea cxx_iostream.exe 381106 5884 33232960 33619950 200ffee fileio.exe 277294 12560 33330080 33619934 200ffde pppd.exe 127642 2436 33489856 33619934 200ffde capture.exe 70964 1896 33547072 33619932 200ffdc nsecs.exe 121038 2184 33496736 33619958 200fff6 paranoia.exe 121566 1832 33496544 33619942 200ffe6 cdtest.exe 57194 1808 33560928 33619930 200ffda base_sp.exe 57622 1808 33560512 33619942 200ffe6 unlimited.exe 65362 1736 33552832 33619930 200ffda hello.exe 167022 6496 33446432 33619950 200ffee loopback.exe For the lpc17xx_plx800_rom_int BSP variant: The size of the sample executables without this option enabled were: text data bss dec hex filename 64010 1820 33618208 33684038 201fa46 ticker.exe 21838 1088 33618912 33641838 201556e minimum.exe 392934 5896 33614176 34013006 206ff4e fileio.exe 300010 12712 33607616 33920338 2059552 pppd.exe 134210 2456 33617600 33754266 2030c9a capture.exe 75384 1908 33618112 33695404 20226ac nsecs.exe 126070 2196 33617824 33746090 202ecaa paranoia.exe 128130 1844 33618208 33748182 202f4d6 cdtest.exe 62058 1820 33618208 33682086 201f2a6 base_sp.exe 63726 1844 33618176 33683746 201f922 unlimited.exe 71770 1788 33618240 33691798 2021896 hello.exe 181062 6596 33613728 33801386 203c4aa loopback.exe The size of the sample executables with this option enabled were: text data bss dec hex filename 59482 1808 33618208 33679498 201e88a ticker.exe 14022 280 33619712 33634014 20136de minimum.exe 336626 2056 33618016 33956698 206235a cxx_iostream.exe 381318 5884 33614176 34001378 206d1e2 fileio.exe 277502 12560 33607744 33897806 2053d4e pppd.exe 127850 2436 33617600 33747886 202f3ae capture.exe 71172 1896 33618112 33691180 202162c nsecs.exe 121246 2184 33617824 33741254 202d9c6 paranoia.exe 121774 1832 33618208 33741814 202dbf6 cdtest.exe 57402 1808 33618208 33677418 201e06a base_sp.exe 57830 1808 33618208 33677846 201e216 unlimited.exe 65570 1736 33618272 33685578 202004a hello.exe 167230 6496 33613824 33787550 2038e9e loopback.exe
-rw-r--r--c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc17xx.inc4
1 files changed, 4 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc17xx.inc b/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc17xx.inc
index 13f2161356..e877959e1d 100644
--- a/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc17xx.inc
+++ b/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc17xx.inc
@@ -9,3 +9,7 @@ RTEMS_CPU = arm
CPU_CFLAGS = -march=armv7-m -mthumb
CFLAGS_OPTIMIZE_V = -O2 -g
+CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
+
+LDFLAGS = -Wl,--gc-sections
+