[rtems commit] arm/lpc32xx: Add per-section compilation and linking suppo
Joel Sherrill
joel at rtems.org
Fri Mar 11 20:14:54 UTC 2016
Module: rtems
Branch: master
Commit: 727695461611041dd08451d1a50067a1f8d7e42c
Changeset: http://git.rtems.org/rtems/commit/?id=727695461611041dd08451d1a50067a1f8d7e42c
Author: Joel Sherrill <joel at rtems.org>
Date: Thu Mar 10 12:13:57 2016 -0600
arm/lpc32xx: Add per-section compilation and linking suppo
updates #2577.
For the lpc32xx_mzx BSP variant without this option, sample executable
sizes were as follows:
text data bss dec hex filename
59920 1740 33734408 33796068 203afe4 ticker.exe
24692 1088 33770304 33796084 203aff4 minimum.exe
592796 2148 33201136 33796080 203aff0 cxx_iostream.exe
414056 5952 33376076 33796084 203aff4 fileio.exe
326320 12768 33456988 33796076 203afec pppd.exe
146728 2504 33646840 33796072 203afe8 capture.exe
77064 1952 33717072 33796088 203aff8 nsecs.exe
137172 2244 33656676 33796092 203affc paranoia.exe
138600 1896 33655576 33796072 203afe8 cdtest.exe
58128 1740 33736200 33796068 203afe4 base_sp.exe
62324 1764 33732004 33796092 203affc unlimited.exe
80796 1844 33713436 33796076 203afec hello.exe
196520 6652 33592904 33796076 203afec loopback.exe
For the lpc32xx_mzx BSP variant with this option, sample executable
sizes were as follows:
text data bss dec hex filename
53781 1728 33740576 33796085 203aff5 ticker.exe
14988 288 33780808 33796084 203aff4 minimum.exe
373552 2120 33420412 33796084 203aff4 cxx_iostream.exe
400208 5940 33389924 33796072 203afe8 fileio.exe
301008 12616 33482440 33796064 203afe0 pppd.exe
138944 2484 33654656 33796084 203aff4 capture.exe
71588 1940 33722548 33796076 203afec nsecs.exe
131068 2232 33662780 33796080 203aff0 paranoia.exe
130800 1884 33663408 33796092 203affc cdtest.exe
52132 1728 33742228 33796088 203aff8 base_sp.exe
55368 1736 33738960 33796064 203afe0 unlimited.exe
73564 1792 33720732 33796088 203aff8 hello.exe
180984 6552 33608544 33796080 203aff0 loopback.exe
For the lpc32xx_mzx_stage_1 BSP variant without this option, sample executable
sizes were as follows:
text data bss dec hex filename
51348 1740 192640 245728 3bfe0 ticker.exe
20608 1088 224032 245728 3bfe0 minimum.exe
132440 2504 110784 245728 3bfe0 capture.exe
68564 1952 175232 245748 3bff4 nsecs.exe
124196 2244 119296 245736 3bfe8 paranoia.exe
129372 1896 114464 245732 3bfe4 cdtest.exe
49780 1740 194208 245728 3bfe0 base_sp.exe
53588 1764 190400 245752 3bff8 unlimited.exe
73084 1844 170816 245744 3bff0 hello.exe
172920 6644 66176 245740 3bfec loopback.exe
For the lpc32xx_mzx_stage_1 BSP variant with this option, sample executable
sizes were as follows:
text data bss dec hex filename
46928 1728 197088 245744 3bff0 ticker.exe
13562 288 231904 245754 3bffa minimum.exe
126656 2484 116608 245748 3bff4 capture.exe
64704 1940 179104 245748 3bff4 nsecs.exe
120276 2232 123232 245740 3bfec paranoia.exe
123188 1884 120672 245744 3bff0 cdtest.exe
45512 1728 198496 245736 3bfe8 base_sp.exe
48496 1736 195520 245752 3bff8 unlimited.exe
67700 1792 176256 245748 3bff4 hello.exe
160456 6544 78752 245752 3bff8 loopback.exe
For the lpc32xx_mzx_stage_2 BSP variant without this option, sample executable
sizes were as follows:
text data bss dec hex filename
59920 1740 4378400 4440060 43bffc ticker.exe
24692 1088 4414272 4440052 43bff4 minimum.exe
592796 2148 3845088 4440032 43bfe0 cxx_iostream.exe
414064 5952 4020032 4440048 43bff0 fileio.exe
326320 12768 4100960 4440048 43bff0 pppd.exe
146728 2504 4290816 4440048 43bff0 capture.exe
77064 1952 4361024 4440040 43bfe8 nsecs.exe
137172 2244 4300640 4440056 43bff8 paranoia.exe
138600 1896 4299552 4440048 43bff0 cdtest.exe
58128 1740 4380192 4440060 43bffc base_sp.exe
62324 1764 4375968 4440056 43bff8 unlimited.exe
80796 1844 4357408 4440048 43bff0 hello.exe
196520 6652 4236864 4440036 43bfe4 loopback.exe
For the lpc32xx_mzx_stage_2 BSP variant with this option, sample executable
sizes were as follows:
text data bss dec hex filename
53781 1728 4384544 4440053 43bff5 ticker.exe
14988 288 4424768 4440044 43bfec minimum.exe
373552 2120 4064384 4440056 43bff8 cxx_iostream.exe
400216 5940 4033888 4440044 43bfec fileio.exe
301008 12616 4126432 4440056 43bff8 pppd.exe
138944 2484 4298624 4440052 43bff4 capture.exe
71588 1940 4366528 4440056 43bff8 nsecs.exe
131068 2232 4306752 4440052 43bff4 paranoia.exe
130800 1884 4307360 4440044 43bfec cdtest.exe
52132 1728 4386176 4440036 43bfe4 base_sp.exe
55368 1736 4382944 4440048 43bff0 unlimited.exe
73564 1792 4364672 4440028 43bfdc hello.exe
180984 6552 4252512 4440048 43bff0 loopback.exe
For the lpc32xx_phycore BSP variant without this option, sample executable
sizes were as follows:
text data bss dec hex filename
59908 1740 67292952 67354600 403bfe8 ticker.exe
24680 1088 67328848 67354616 403bff8 minimum.exe
592784 2148 66759680 67354612 403bff4 cxx_iostream.exe
414048 5952 66934616 67354616 403bff8 fileio.exe
326308 12768 67015532 67354608 403bff0 pppd.exe
146716 2504 67205384 67354604 403bfec capture.exe
77052 1952 67275616 67354620 403bffc nsecs.exe
137160 2244 67215220 67354624 403c000 paranoia.exe
138588 1896 67214120 67354604 403bfec cdtest.exe
58116 1740 67294744 67354600 403bfe8 base_sp.exe
62312 1764 67290548 67354624 403c000 unlimited.exe
80784 1844 67271980 67354608 403bff0 hello.exe
196508 6652 67151448 67354608 403bff0 loopback.exe
For the lpc32xx_phycore BSP variant with this option, sample executable
sizes were as follows:
text data bss dec hex filename
53769 1728 67299120 67354617 403bff9 ticker.exe
14976 288 67339352 67354616 403bff8 minimum.exe
373540 2120 66978956 67354616 403bff8 cxx_iostream.exe
400200 5940 66948464 67354604 403bfec fileio.exe
300996 12616 67040984 67354596 403bfe4 pppd.exe
138932 2484 67213200 67354616 403bff8 capture.exe
71576 1940 67281092 67354608 403bff0 nsecs.exe
131056 2232 67221324 67354612 403bff4 paranoia.exe
130788 1884 67221952 67354624 403c000 cdtest.exe
52120 1728 67300772 67354620 403bffc base_sp.exe
55356 1736 67297504 67354596 403bfe4 unlimited.exe
73552 1792 67279276 67354620 403bffc hello.exe
180972 6552 67167088 67354612 403bff4 loopback.exe
---
c/src/lib/libbsp/arm/lpc32xx/make/custom/lpc32xx.inc | 3 +++
1 file changed, 3 insertions(+)
diff --git a/c/src/lib/libbsp/arm/lpc32xx/make/custom/lpc32xx.inc b/c/src/lib/libbsp/arm/lpc32xx/make/custom/lpc32xx.inc
index 2db07a9..f184741 100644
--- a/c/src/lib/libbsp/arm/lpc32xx/make/custom/lpc32xx.inc
+++ b/c/src/lib/libbsp/arm/lpc32xx/make/custom/lpc32xx.inc
@@ -9,3 +9,6 @@ RTEMS_CPU = arm
CPU_CFLAGS = -mcpu=arm926ej-s -mthumb
CFLAGS_OPTIMIZE_V ?= -O2 -g
+CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
+
+LDFLAGS = -Wl,--gc-sections
More information about the vc
mailing list