[rtems commit] arm/lpc24xx (lpc17xx variants): Add per-section compilation and linking support.
Joel Sherrill
joel at rtems.org
Fri Mar 11 20:14:54 UTC 2016
Module: rtems
Branch: master
Commit: 4e059db8cc6294d2e4ffd1e399592116063e1fff
Changeset: http://git.rtems.org/rtems/commit/?id=4e059db8cc6294d2e4ffd1e399592116063e1fff
Author: Joel Sherrill <joel at rtems.org>
Date: Thu Mar 10 09:36:16 2016 -0600
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
---
c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc17xx.inc | 4 ++++
1 file changed, 4 insertions(+)
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 13f2161..e877959 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
+
More information about the vc
mailing list