From 45351fcf5b3cbefbf6cabe1eaae0408ca5b85c26 Mon Sep 17 00:00:00 2001 From: Aun-Ali Zaidi Date: Sat, 9 Jan 2016 14:46:05 -0600 Subject: 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 362d9f4de5..954a43c1bb 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) -- cgit v1.2.3