[rtems commit] arm/lm3s69xx: Add per-section compilation and linking support
Joel Sherrill
joel at rtems.org
Sat Jan 9 21:11:26 UTC 2016
Module: rtems
Branch: master
Commit: 45351fcf5b3cbefbf6cabe1eaae0408ca5b85c26
Changeset: http://git.rtems.org/rtems/commit/?id=45351fcf5b3cbefbf6cabe1eaae0408ca5b85c26
Author: Aun-Ali Zaidi <admin at kodeit.net>
Date: Sat Jan 9 14:46:05 2016 -0600
arm/lm3s69xx: Add per-section compilation and linking support
LM3S3749
========
The size of the sample executables without this option were:
text data bss dec hex filename
40900 1496 64064 106460 19fdc minimum.exe
61012 1732 63840 126584 1ee78 base_sp.exe
74020 1820 63744 139584 22140 nsecs.exe
70240 1700 63872 135812 21284 hello.exe
63272 1732 63840 128844 1f74c ticker.exe
62608 1756 63808 128172 1f4ac unlimited.exe
The size of the sample executables with this option enabled were:
text data bss dec hex filename
23644 1268 64288 89200 15c70 minimum.exe
56500 1708 63872 122080 1dce0 base_sp.exe
69560 1796 63776 135132 20fdc nsecs.exe
64904 1676 63904 130484 1fdb4 hello.exe
58748 1708 63872 124328 1e5a8 ticker.exe
57540 1732 63840 123112 1e0e8 unlimited.exe
LM3S6965
========
The size of the sample executables without this option were:
text data bss dec hex filename
40892 1496 64064 106452 19fd4 minimum.exe
61004 1732 63840 126576 1ee70 base_sp.exe
74012 1820 63744 139576 22138 nsecs.exe
128480 2216 63360 194056 2f608 capture.exe
136424 1752 63840 202016 31520 cdtest.exe
124368 2108 63456 189932 2e5ec paranoia.exe
70232 1700 63872 135804 2127c hello.exe
63264 1732 63840 128836 1f744 ticker.exe
175644 6512 59360 241516 3af6c loopback.exe
62600 1756 63808 128164 1f4a4 unlimited.exe
The size of the sample executables with this option enabled were:
text data bss dec hex filename
23636 1268 64288 89192 15c68 minimum.exe
56492 1708 63872 122072 1dcd8 base_sp.exe
69552 1796 63776 135124 20fd4 nsecs.exe
122712 2184 63392 188288 2df80 capture.exe
130180 1736 63840 195756 2fcac cdtest.exe
119928 2092 63488 185508 2d4a4 paranoia.exe
64896 1676 63904 130476 1fdac hello.exe
58740 1708 63872 124320 1e5a0 ticker.exe
163228 6408 59456 229092 37ee4 loopback.exe
57532 1732 63840 123104 1e0e0 unlimited.exe
LM3S6965 QEMU
=============
The size of the sample executables without this option were:
text data bss dec hex filename
40892 1496 16775744 16818132 1009fd4 minimum.exe
61004 1732 16775520 16838256 100ee70 base_sp.exe
74012 1820 16775424 16851256 1012138 nsecs.exe
128480 2216 16775040 16905736 101f608 capture.exe
136424 1752 16775520 16913696 1021520 cdtest.exe
124368 2108 16775136 16901612 101e5ec paranoia.exe
70232 1700 16775552 16847484 101127c hello.exe
386388 5644 16771616 17163648 105e580 fileio.exe
63264 1732 16775520 16840516 100f744 ticker.exe
175644 6512 16771040 16953196 102af6c loopback.exe
399404 1960 16775296 17176660 1061854 cxx_iostream.exe
296808 12628 16764928 17074364 10488bc pppd.exe
62600 1756 16775488 16839844 100f4a4 unlimited.exe
The size of the sample executables with this option enabled were:
text data bss dec hex filename
23636 1268 16775968 16800872 1005c68 minimum.exe
56492 1708 16775552 16833752 100dcd8 base_sp.exe
69552 1796 16775456 16846804 1010fd4 nsecs.exe
122712 2184 16775072 16899968 101df80 capture.exe
130180 1736 16775520 16907436 101fcac cdtest.exe
119928 2092 16775168 16897188 101d4a4 paranoia.exe
64896 1676 16775584 16842156 100fdac hello.exe
375128 5620 16771616 17152364 105b96c fileio.exe
58740 1708 16775552 16836000 100e5a0 ticker.exe
163228 6408 16771136 16940772 1027ee4 loopback.exe
278700 1936 16775328 17055964 10440dc cxx_iostream.exe
276104 12472 16765056 17053632 10437c0 pppd.exe
57532 1732 16775520 16834784 100e0e0 unlimited.exe
LM4f120
=======
The size of the sample executables without this option were:
text data bss dec hex filename
40896 1496 31296 73688 11fd8 minimum.exe
61008 1732 31072 93812 16e74 base_sp.exe
74016 1820 30976 106812 1a13c nsecs.exe
128480 2216 30592 161288 27608 capture.exe
124368 2108 30688 157164 265ec paranoia.exe
70240 1700 31104 103044 19284 hello.exe
63268 1732 31072 96072 17748 ticker.exe
175644 6512 26592 208748 32f6c loopback.exe
62604 1756 31040 95400 174a8 unlimited.exe
The size of the sample executables with this option enabled were:
text data bss dec hex filename
23640 1268 31520 56428 dc6c minimum.exe
56496 1708 31104 89308 15cdc base_sp.exe
69556 1796 31008 102360 18fd8 nsecs.exe
122720 2184 30624 155528 25f88 capture.exe
119936 2092 30720 152748 254ac paranoia.exe
64904 1676 31136 97716 17db4 hello.exe
58744 1708 31104 91556 165a4 ticker.exe
163228 6408 26688 196324 2fee4 loopback.exe
57536 1732 31072 90340 160e4 unlimited.exe
---
c/src/lib/libbsp/arm/lm3s69xx/make/custom/lm3s69xx.inc | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/c/src/lib/libbsp/arm/lm3s69xx/make/custom/lm3s69xx.inc b/c/src/lib/libbsp/arm/lm3s69xx/make/custom/lm3s69xx.inc
index 362d9f4..954a43c 100644
--- a/c/src/lib/libbsp/arm/lm3s69xx/make/custom/lm3s69xx.inc
+++ b/c/src/lib/libbsp/arm/lm3s69xx/make/custom/lm3s69xx.inc
@@ -10,6 +10,10 @@ CPU_CFLAGS = -march=armv7-m -mthumb
CFLAGS_OPTIMIZE_V = -O2 -g
+# Add CFLAGS and LDFLAGS for compiling and linking with per item sections
+CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
+LDFLAGS = -Wl,--gc-sections
+
define bsp-post-link
$(default-bsp-post-link)
$(OBJCOPY) -O binary $(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)
More information about the vc
mailing list