[rtems commit] or1k/generic_or1k: 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: e1768fdd950fb24004183cdfdbef0bcd1a07908c
Changeset: http://git.rtems.org/rtems/commit/?id=e1768fdd950fb24004183cdfdbef0bcd1a07908c
Author: Joel Sherrill <joel at rtems.org>
Date: Thu Mar 10 16:28:12 2016 -0600
or1k/generic_or1k: Add per-section compilation and linking support
updates #2577.
For the generic_or1k BSP variant without this option sample
executables sizes were as follows:
text data bss dec hex filename
255044 1780 33297600 33554424 1fffff8 ticker.exe
188484 1496 33364448 33554428 1fffffc minimum.exe
829728 77432 32647264 33554424 1fffff8 cxx_iostream.exe
1110588 6112 32437728 33554428 1fffffc fileio.exe
881676 14420 32658304 33554400 1ffffe0 pppd.exe
428200 2556 33123648 33554404 1ffffe4 capture.exe
274012 1868 33278528 33554408 1ffffe8 nsecs.exe
398084 2184 33154144 33554412 1ffffec paranoia.exe
387348 7420 33159648 33554416 1fffff0 cdtest.exe
247752 1780 33304896 33554428 1fffffc base_sp.exe
253888 1808 33298720 33554416 1fffff0 unlimited.exe
261792 1752 33290880 33554424 1fffff8 hello.exe
569612 6792 32978016 33554420 1fffff4 loopback.exe
For the generic_or1k BSP variant with this option sample executables
sizes were as follows:
text data bss dec hex filename
229804 1760 33314592 33546156 1ffdfac ticker.exe
118744 1424 33425984 33546152 1ffdfa8 minimum.exe
607344 29188 32909632 33546164 1ffdfb4 cxx_iostream.exe
1064124 6088 32475936 33546148 1ffdfa4 fileio.exe
801832 14156 32730176 33546164 1ffdfb4 pppd.exe
392908 2508 33150752 33546168 1ffdfb8 capture.exe
249932 1848 33294368 33546148 1ffdfa4 nsecs.exe
372320 2164 33171680 33546164 1ffdfb4 paranoia.exe
361148 6980 33178016 33546144 1ffdfa0 cdtest.exe
222004 1760 33322400 33546164 1ffdfb4 base_sp.exe
222812 1772 33321568 33546152 1ffdfa8 unlimited.exe
229764 1704 33314688 33546156 1ffdfac hello.exe
515572 6576 33024000 33546148 1ffdfa4 loopback.exe
---
c/src/lib/libbsp/or1k/generic_or1k/make/custom/generic_or1k.cfg | 3 +++
1 file changed, 3 insertions(+)
diff --git a/c/src/lib/libbsp/or1k/generic_or1k/make/custom/generic_or1k.cfg b/c/src/lib/libbsp/or1k/generic_or1k/make/custom/generic_or1k.cfg
index fff00ae..9a00643 100644
--- a/c/src/lib/libbsp/or1k/generic_or1k/make/custom/generic_or1k.cfg
+++ b/c/src/lib/libbsp/or1k/generic_or1k/make/custom/generic_or1k.cfg
@@ -5,3 +5,6 @@ RTEMS_CPU = or1k
CPU_CFLAGS = -O2
CFLAGS_OPTIMIZE_V ?= -O0 -g
+CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
+
+LDFLAGS = -Wl,--gc-sections
More information about the vc
mailing list