[PATCH 27/32] sh/gensh4: Add per-section compilation and linking support
Joel Sherrill
joel at rtems.org
Fri Mar 11 00:15:32 UTC 2016
updates #2577.
For the gensh4 BSP variant without this option sample executables
sizes were as follows:
text data bss dec hex filename
75538 10666 7264 93468 16d1c ticker.exe
21810 6166 3008 30984 7908 minimum.exe
424370 69762 20476 514608 7da30 fileio.exe
342538 50782 36468 429788 68edc pppd.exe
150930 23130 10168 184228 2cfa4 capture.exe
90578 11078 7348 109004 1a9cc nsecs.exe
125010 22190 7824 155024 25d90 paranoia.exe
153282 26686 8328 188296 2df88 cdtest.exe
73426 10498 7232 91156 16414 base_sp.exe
75186 10734 11072 96992 17ae0 unlimited.exe
85650 9070 7224 101944 18e38 hello.exe
212390 22942 14556 249888 3d020 loopback.exe
For the gensh4 BSP variant with this option sample executables sizes
were as follows:
text data bss dec hex filename
70418 10214 7228 87860 15734 ticker.exe
14514 4886 2984 22384 5770 minimum.exe
411234 67894 20184 499312 79e70 fileio.exe
309906 43666 35668 389240 5f078 pppd.exe
143074 22414 10132 175620 2ae04 capture.exe
86130 10606 7312 104048 19670 nsecs.exe
118978 21714 7804 148496 24410 paranoia.exe
147778 15814 8292 171884 29f6c cdtest.exe
67890 10042 7196 85128 14c88 base_sp.exe
69010 10254 11036 90300 160bc unlimited.exe
78850 8578 7204 94632 171a8 hello.exe
189586 17346 14392 221324 3608c loopback.exe
---
c/src/lib/libbsp/sh/gensh4/make/custom/gensh4.cfg | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/c/src/lib/libbsp/sh/gensh4/make/custom/gensh4.cfg b/c/src/lib/libbsp/sh/gensh4/make/custom/gensh4.cfg
index dd1a9f7..4eb20f9 100644
--- a/c/src/lib/libbsp/sh/gensh4/make/custom/gensh4.cfg
+++ b/c/src/lib/libbsp/sh/gensh4/make/custom/gensh4.cfg
@@ -23,4 +23,7 @@ RTEMS_CPU_MODEL=sh7750
CPU_CFLAGS = -m4 -ml
# 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
--
1.8.3.1
More information about the devel
mailing list