summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel@rtems.org>2016-03-10 17:09:20 -0600
committerJoel Sherrill <joel@rtems.org>2016-03-10 18:10:18 -0600
commitf34c41a2539d04c0b7a2900cd7e7a94dbe7cf76e (patch)
treee14cbd382500d5e501ee597e5429cfddf3580203
parentsh/gensh4: Add per-section compilation and linking support (diff)
downloadrtems-f34c41a2539d04c0b7a2900cd7e7a94dbe7cf76e.tar.bz2
sh/simsh: Add per-section compilation and linking support
updates #2577. For the simsh1 BSP variant without this option sample executables sizes were as follows: text data bss dec hex filename 73984 7220 7036 88240 158b0 ticker.exe 21284 6388 2856 30528 7740 minimum.exe 368616 17820 36256 422692 67324 pppd.exe 162660 7876 9936 180472 2c0f8 capture.exe 87812 7308 7121 102241 18f61 nsecs.exe 152564 7592 7604 167760 28f50 paranoia.exe 161260 16640 8108 186008 2d698 cdtest.exe 71256 7220 7012 85488 14df0 base_sp.exe 73852 7248 10852 91952 16730 unlimited.exe 86888 7192 7016 101096 18ae8 hello.exe 219504 11712 14332 245548 3bf2c loopback.exe For the simsh1 BSP variant with this option sample executables sizes were as follows: text data bss dec hex filename 68260 5688 5984 79932 1383c ticker.exe 11724 4364 1824 17912 45f8 minimum.exe 331732 13000 34424 379156 5c914 pppd.exe 153408 6312 8892 168612 292a4 capture.exe 82804 5776 6073 94653 171bd nsecs.exe 145108 6056 6560 157724 2681c paranoia.exe 153036 6196 7060 166292 28994 cdtest.exe 64236 5684 5964 75884 1286c base_sp.exe 66684 5712 9808 82204 1411c unlimited.exe 79304 5656 5956 90916 16324 hello.exe 193844 6936 13148 213928 343a8 loopback.exe For the simsh2 BSP variant without this option sample executables sizes were as follows: text data bss dec hex filename 71344 7168 7040 85552 14e30 ticker.exe 19156 6352 2860 28368 6ed0 minimum.exe 366744 17768 36244 420756 66b94 pppd.exe 160612 7824 9940 178376 2b8c8 capture.exe 85156 7256 7125 99537 184d1 nsecs.exe 149796 7540 7608 164944 28450 paranoia.exe 158908 16588 8112 183608 2cd38 cdtest.exe 69112 7168 7016 83296 14560 base_sp.exe 71692 7196 10856 89744 15e90 unlimited.exe 84792 7140 7020 98952 18288 hello.exe 217488 11660 14336 243484 3b71c loopback.exe For the simsh2 BSP variant with this option sample executables sizes were as follows: text data bss dec hex filename 66404 5688 5984 78076 130fc ticker.exe 11340 4364 1824 17528 4478 minimum.exe 331044 13000 34424 378468 5c664 pppd.exe 152640 6312 8892 167844 28fa4 capture.exe 80580 5776 6073 92429 1690d nsecs.exe 143652 6056 6560 156268 2626c paranoia.exe 151980 6196 7060 165236 28574 cdtest.exe 63404 5684 5964 75052 1252c base_sp.exe 65836 5712 9808 81356 13dcc unlimited.exe 78616 5656 5956 90228 16074 hello.exe 193140 6936 13148 213224 340e8 loopback.exe For the simsh2e BSP variant without this option sample executables sizes were as follows: text data bss dec hex filename 72736 6140 7040 85916 14f9c ticker.exe 19156 5324 2860 27340 6acc minimum.exe 368864 16740 36252 421856 66fe0 pppd.exe 159756 6796 9932 176484 2b164 capture.exe 88228 6228 7109 101565 18cbd nsecs.exe 122684 6460 7380 136524 2154c paranoia.exe 157508 15740 8100 181348 2c464 cdtest.exe 70504 6140 7000 83644 146bc base_sp.exe 73116 6168 10856 90140 1601c unlimited.exe 81616 6112 7012 94740 17214 hello.exe 217336 10632 14328 242296 3b278 loopback.exe For the simsh2e BSP variant with this option sample executables sizes were as follows: text data bss dec hex filename 67956 5688 5984 79628 1370c ticker.exe 11404 4364 1824 17592 44b8 minimum.exe 333228 13000 34416 380644 5cee4 pppd.exe 151864 6312 8884 167060 28c94 capture.exe 83828 5776 6073 95677 175bd nsecs.exe 116764 6004 6332 129100 1f84c paranoia.exe 150740 6196 7052 163988 28094 cdtest.exe 64940 5684 5964 76588 12b2c base_sp.exe 67404 5712 9808 82924 143ec unlimited.exe 75616 5656 5964 87236 154c4 hello.exe 192956 6936 13156 213048 34038 loopback.exe For the simsh4 BSP variant without this option sample executables sizes were as follows: text data bss dec hex filename 73104 6052 7172 86328 15138 ticker.exe 19908 5280 2996 28184 6e18 minimum.exe 369572 16652 36380 422604 672cc pppd.exe 160384 6708 10076 177168 2b410 capture.exe 88628 6140 7257 102025 18e89 nsecs.exe 133776 6424 7744 147944 241e8 paranoia.exe 157496 15616 8248 181360 2c470 cdtest.exe 70920 6052 7148 84120 14898 base_sp.exe 73532 6080 10988 90600 161e8 unlimited.exe 82180 6024 7156 95360 17480 hello.exe 217852 10544 14472 242868 3b4b4 loopback.exe For the simsh4 BSP variant with this option sample executables sizes were as follows: text data bss dec hex filename 68388 5688 6120 80196 13944 ticker.exe 12572 4364 1960 18896 49d0 minimum.exe 333776 13000 34548 381324 5d18c pppd.exe 152444 6312 9016 167772 28f5c capture.exe 84276 5776 6209 96261 17805 nsecs.exe 127888 6056 6684 140628 22554 paranoia.exe 150632 6196 7184 164012 280ac cdtest.exe 65500 5684 6100 77284 12de4 base_sp.exe 67964 5712 9944 83620 146a4 unlimited.exe 76260 5656 6096 88012 157cc hello.exe 193280 6936 13288 213504 34200 loopback.exe
-rw-r--r--c/src/lib/libbsp/sh/shsim/make/custom/simsh1.cfg5
-rw-r--r--c/src/lib/libbsp/sh/shsim/make/custom/simsh2.cfg5
-rw-r--r--c/src/lib/libbsp/sh/shsim/make/custom/simsh2e.cfg5
-rw-r--r--c/src/lib/libbsp/sh/shsim/make/custom/simsh4.cfg5
4 files changed, 16 insertions, 4 deletions
diff --git a/c/src/lib/libbsp/sh/shsim/make/custom/simsh1.cfg b/c/src/lib/libbsp/sh/shsim/make/custom/simsh1.cfg
index 86dc10893b..84e891a580 100644
--- a/c/src/lib/libbsp/sh/shsim/make/custom/simsh1.cfg
+++ b/c/src/lib/libbsp/sh/shsim/make/custom/simsh1.cfg
@@ -13,4 +13,7 @@ RTEMS_CPU_MODEL=shgdb
CPU_CFLAGS = -m1
# optimize flag: typically -O2
-CFLAGS_OPTIMIZE_V = -O2 -g
+CFLAGS_OPTIMIZE_V = -O2 -g
+CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
+
+LDFLAGS = -Wl,--gc-sections
diff --git a/c/src/lib/libbsp/sh/shsim/make/custom/simsh2.cfg b/c/src/lib/libbsp/sh/shsim/make/custom/simsh2.cfg
index bf18cc6af0..8d238977eb 100644
--- a/c/src/lib/libbsp/sh/shsim/make/custom/simsh2.cfg
+++ b/c/src/lib/libbsp/sh/shsim/make/custom/simsh2.cfg
@@ -13,4 +13,7 @@ RTEMS_CPU_MODEL=shgdb
CPU_CFLAGS = -m2
# optimize flag: typically -O2
-CFLAGS_OPTIMIZE_V = -O2 -g
+CFLAGS_OPTIMIZE_V = -O2 -g
+CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
+
+LDFLAGS = -Wl,--gc-sections
diff --git a/c/src/lib/libbsp/sh/shsim/make/custom/simsh2e.cfg b/c/src/lib/libbsp/sh/shsim/make/custom/simsh2e.cfg
index 84f06e2b6b..c47e40fdde 100644
--- a/c/src/lib/libbsp/sh/shsim/make/custom/simsh2e.cfg
+++ b/c/src/lib/libbsp/sh/shsim/make/custom/simsh2e.cfg
@@ -8,8 +8,11 @@ RTEMS_CPU=sh
RTEMS_CPU_MODEL=shgdb
# This contains the compiler options necessary to select the CPU model
-# and (hopefully) optimize for it.
+# and (hopefully) optimize for it.
CPU_CFLAGS = -m2e -ml
# optimize flag: typically -O2
CFLAGS_OPTIMIZE_V = -O2 -g
+CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
+
+LDFLAGS = -Wl,--gc-sections
diff --git a/c/src/lib/libbsp/sh/shsim/make/custom/simsh4.cfg b/c/src/lib/libbsp/sh/shsim/make/custom/simsh4.cfg
index 9245a85e7f..076ba3db64 100644
--- a/c/src/lib/libbsp/sh/shsim/make/custom/simsh4.cfg
+++ b/c/src/lib/libbsp/sh/shsim/make/custom/simsh4.cfg
@@ -8,8 +8,11 @@ RTEMS_CPU=sh
RTEMS_CPU_MODEL=shgdb
# This contains the compiler options necessary to select the CPU model
-# and (hopefully) optimize for it.
+# and (hopefully) optimize for it.
CPU_CFLAGS = -m4 -ml
# optimize flag: typically -O2
CFLAGS_OPTIMIZE_V = -O2 -g
+CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
+
+LDFLAGS = -Wl,--gc-sections