summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel@rtems.org>2016-03-10 16:49:33 -0600
committerJoel Sherrill <joel@rtems.org>2016-03-10 18:10:18 -0600
commit5d75bb6b27d9b220ef5fe048dd965c4379c164c5 (patch)
tree2c86ddb9082c97e5c3d1c27883d4d4818135a153
parentsh/gensh1: Add per-section compilation and linking support (diff)
downloadrtems-5d75bb6b27d9b220ef5fe048dd965c4379c164c5.tar.bz2
sh/gensh2: Add per-section compilation and linking support
updates #2577. For the gensh2 BSP variant without this option sample executables sizes were as follows: text data bss dec hex filename 61906 7550 6784 76240 129d0 ticker.exe 24082 3134 2876 30092 758c minimum.exe 336698 47742 36256 420696 66b58 pppd.exe 140210 20034 9684 169928 297c8 capture.exe 75058 7962 6861 89881 15f19 nsecs.exe 128850 18446 7352 154648 25c18 paranoia.exe 142898 22794 7844 173536 2a5e0 cdtest.exe 59618 6734 6752 73104 11d90 base_sp.exe 62066 6970 10576 79612 136fc unlimited.exe 76066 5322 6732 88120 15838 hello.exe 200630 19846 14080 234556 3943c loopback.exe For the gensh2 BSP variant with this option sample executables sizes were as follows: text data bss dec hex filename 58402 7030 6768 72200 11a08 ticker.exe 13218 1502 1844 16564 40b4 minimum.exe 298562 40502 35448 374512 5b6f0 pppd.exe 133826 19250 9660 162736 27bb0 capture.exe 71826 7422 6833 86081 15041 nsecs.exe 124050 17902 7328 149280 24720 paranoia.exe 138658 11998 7832 158488 26b18 cdtest.exe 55330 6210 6724 68264 10aa8 base_sp.exe 52898 5398 9516 67812 108e4 unlimited.exe 66482 3738 5684 75904 12880 hello.exe 179618 14182 13916 207716 32b64 loopback.exe
-rw-r--r--c/src/lib/libbsp/sh/gensh2/make/custom/gensh2.cfg4
1 files changed, 3 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/sh/gensh2/make/custom/gensh2.cfg b/c/src/lib/libbsp/sh/gensh2/make/custom/gensh2.cfg
index 00d0fbf837..40038e6b9b 100644
--- a/c/src/lib/libbsp/sh/gensh2/make/custom/gensh2.cfg
+++ b/c/src/lib/libbsp/sh/gensh2/make/custom/gensh2.cfg
@@ -13,8 +13,10 @@ RTEMS_CPU_MODEL=sh7045
# This contains the compiler options necessary to select the CPU model
# and (hopefully) optimize for it.
-#
CPU_CFLAGS = -m2
# optimize flag: typically -O2
CFLAGS_OPTIMIZE_V = -O2 -g
+CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
+
+LDFLAGS = -Wl,--gc-sections