[rtems commit] arm/lpc24xx (lpc17xx variants): 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:    4e059db8cc6294d2e4ffd1e399592116063e1fff
Changeset: http://git.rtems.org/rtems/commit/?id=4e059db8cc6294d2e4ffd1e399592116063e1fff

Author:    Joel Sherrill <joel at rtems.org>
Date:      Thu Mar 10 09:36:16 2016 -0600

arm/lpc24xx (lpc17xx variants): Add per-section compilation and linking support.

updates #2577.

For the lpc17xx_ea_ram BSP variant:

The size of the sample executables without this option were:

   text	   data	    bss	    	  dec	    	  hex	filename
   63646   1724	33554592	33619962	200fffa	ticker.exe
   21634   1088	33597216	33619938	200ffe2	minimum.exe
  549386   2004	33068544	33619934	200ffde	cxx_iostream.exe
  392562   5800	33221600	33619962	200fffa	fileio.exe
  299662  12616	33307680	33619958	200fff6	pppd.exe
  133838   2360	33483744	33619942	200ffe6	capture.exe
   75020   1812	33543104	33619936	200ffe0	nsecs.exe
  125706   2100	33492160	33619966	200fffe	paranoia.exe
  127758   1748	33490432	33619938	200ffe2	cdtest.exe
   61686   1724	33556544	33619954	200fff2	base_sp.exe
   63370   1748	33554848	33619966	200fffe	unlimited.exe
   71414   1692	33546848	33619954	200fff2	hello.exe
  180698   6500	33432768	33619966	200fffe	loopback.exe

The size of the sample executables with this option enabled were:

   text	   data	    bss	    	  dec	    	  hex	filename
  58982	   1712	33559264	33619958	200fff6	ticker.exe
  13818	    280	33605856	33619954	200fff2	minimum.exe
 336134	   1960	33281856	33619950	200ffee	cxx_iostream.exe
 380810	   5788	33233344	33619942	200ffe6	fileio.exe
 277010	  12464	33330464	33619938	200ffe2	pppd.exe
 127358	   2340	33490240	33619938	200ffe2	capture.exe
  70672	   1800	33547488	33619960	200fff8	nsecs.exe
 120746	   2088	33497120	33619954	200fff2	paranoia.exe
 121282	   1736	33496928	33619946	200ffea	cdtest.exe
  56902	   1712	33561344	33619958	200fff6	base_sp.exe
  57346	   1712	33560896	33619954	200fff2	unlimited.exe
  65078	   1640	33553216	33619934	200ffde	hello.exe
 166730	   6400	33446816	33619946	200ffea	loopback.exe

For the lpc17xx_ea_rom_int BSP variant:

The size of the sample executables without this option enabled were:

   text	   data	    bss	    	  dec	    	  hex	filename
  63814	   1724	33557096	33622634	2010a6a	ticker.exe
  21802	   1088	33557704	33580594	2006632	minimum.exe
 392734	   5800	33553064	33951598	2060f6e	fileio.exe
 299830	  12616	33546504	33858950	204a586	pppd.exe
 134006	   2360	33556488	33692854	2021cb6	capture.exe
  75188	   1812	33557000	33634000	20136d0	nsecs.exe
 125874	   2100	33556712	33684686	201fcce	paranoia.exe
 127926	   1748	33557096	33686770	20204f2	cdtest.exe
  61854	   1724	33557096	33620674	20102c2	base_sp.exe
  63538	   1748	33557064	33622350	201094e	unlimited.exe
  71582	   1692	33557128	33630402	20128c2	hello.exe
 180866	   6500	33552616	33739982	202d4ce	loopback.exe

The size of the sample executables with this option enabled were:

   text	   data	    bss	    	  dec	    	  hex	filename
  59150	   1712	33557096	33617958	200f826	ticker.exe
  13986	    280	33558504	33572770	20047a2	minimum.exe
 336302	   1960	33556904	33895166	20532fe	cxx_iostream.exe
 380982	   5788	33553064	33939834	205e17a	fileio.exe
 277178	  12464	33546632	33836274	2044cf2	pppd.exe
 127526	   2340	33556488	33686354	2020352	capture.exe
  70840	   1800	33557000	33629640	20125c8	nsecs.exe
 120914	   2088	33556712	33679714	201e962	paranoia.exe
 121450	   1736	33557096	33680282	201eb9a	cdtest.exe
  57070	   1712	33557096	33615878	200f006	base_sp.exe
  57514	   1712	33557096	33616322	200f1c2	unlimited.exe
  65246	   1640	33557160	33624046	2010fee	hello.exe
 166898	   6400	33552712	33726010	2029e3a	loopback.exe

For the lpc17xx_plx800_ram BSP variant:

The size of the sample executables without this option enabled were:

   text	   data	    bss	    dec	    hex	filename
  63802	   1820	33554336	33619958	200fff6	ticker.exe
  21630	   1088	33597216	33619934	200ffde	minimum.exe
 549534	   2100	33068320	33619954	200fff2	cxx_iostream.exe
 392722	   5896	33221344	33619962	200fffa	fileio.exe
 299802	  12712	33307424	33619938	200ffe2	pppd.exe
 134002	   2456	33483488	33619946	200ffea	capture.exe
  75176	   1908	33542848	33619932	200ffdc	nsecs.exe
 125862	   2196	33491904	33619962	200fffa	paranoia.exe
 127922	   1844	33490176	33619942	200ffe6	cdtest.exe
  61850	   1820	33556288	33619958	200fff6	base_sp.exe
  63518	   1844	33554592	33619954	200fff2	unlimited.exe
  71562	   1788	33546592	33619942	200ffe6	hello.exe
 180854	   6596	33432512	33619962	200fffa	loopback.exe

The size of the sample executables with this option enabled were:

   text	   data	    bss	    	  dec	    	  hex	filename
  59274	   1808	33558848	33619930	200ffda	ticker.exe
  13814	    280	33605856	33619950	200ffee	minimum.exe
 336418	   2056	33281472	33619946	200ffea	cxx_iostream.exe
 381106	   5884	33232960	33619950	200ffee	fileio.exe
 277294	  12560	33330080	33619934	200ffde	pppd.exe
 127642	   2436	33489856	33619934	200ffde	capture.exe
  70964	   1896	33547072	33619932	200ffdc	nsecs.exe
 121038	   2184	33496736	33619958	200fff6	paranoia.exe
 121566	   1832	33496544	33619942	200ffe6	cdtest.exe
  57194	   1808	33560928	33619930	200ffda	base_sp.exe
  57622	   1808	33560512	33619942	200ffe6	unlimited.exe
  65362	   1736	33552832	33619930	200ffda	hello.exe
 167022	   6496	33446432	33619950	200ffee	loopback.exe

For the lpc17xx_plx800_rom_int BSP variant:

The size of the sample executables without this option enabled were:

   text	   data	    bss	    dec	    hex	filename
  64010	   1820	33618208	33684038	201fa46	ticker.exe
  21838	   1088	33618912	33641838	201556e	minimum.exe
 392934	   5896	33614176	34013006	206ff4e	fileio.exe
 300010	  12712	33607616	33920338	2059552	pppd.exe
 134210	   2456	33617600	33754266	2030c9a	capture.exe
  75384	   1908	33618112	33695404	20226ac	nsecs.exe
 126070	   2196	33617824	33746090	202ecaa	paranoia.exe
 128130	   1844	33618208	33748182	202f4d6	cdtest.exe
  62058	   1820	33618208	33682086	201f2a6	base_sp.exe
  63726	   1844	33618176	33683746	201f922	unlimited.exe
  71770	   1788	33618240	33691798	2021896	hello.exe
 181062	   6596	33613728	33801386	203c4aa	loopback.exe

The size of the sample executables with this option enabled were:

   text	   data	    bss	    	  dec	    	  hex	filename
  59482	   1808	33618208	33679498	201e88a	ticker.exe
  14022	    280	33619712	33634014	20136de	minimum.exe
 336626	   2056	33618016	33956698	206235a	cxx_iostream.exe
 381318	   5884	33614176	34001378	206d1e2	fileio.exe
 277502	  12560	33607744	33897806	2053d4e	pppd.exe
 127850	   2436	33617600	33747886	202f3ae	capture.exe
  71172	   1896	33618112	33691180	202162c	nsecs.exe
 121246	   2184	33617824	33741254	202d9c6	paranoia.exe
 121774	   1832	33618208	33741814	202dbf6	cdtest.exe
  57402	   1808	33618208	33677418	201e06a	base_sp.exe
  57830	   1808	33618208	33677846	201e216	unlimited.exe
  65570	   1736	33618272	33685578	202004a	hello.exe
 167230	   6496	33613824	33787550	2038e9e	loopback.exe

---

 c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc17xx.inc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc17xx.inc b/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc17xx.inc
index 13f2161..e877959 100644
--- a/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc17xx.inc
+++ b/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc17xx.inc
@@ -9,3 +9,7 @@ RTEMS_CPU = arm
 CPU_CFLAGS = -march=armv7-m -mthumb
 
 CFLAGS_OPTIMIZE_V = -O2 -g
+CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
+
+LDFLAGS = -Wl,--gc-sections
+



More information about the vc mailing list