[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