[rtems commit] arm/lpc24xx (lpc24xx 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:    55159ee96e48e18f7e6a238280a5a25c6bb51959
Changeset: http://git.rtems.org/rtems/commit/?id=55159ee96e48e18f7e6a238280a5a25c6bb51959

Author:    Joel Sherrill <joel at rtems.org>
Date:      Thu Mar 10 11:13:29 2016 -0600

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

updates #2577.

For the lpc2362 BSP variant:

The size of the sample executables without this option were:

   text	   data	    bss	    dec	     he	filename
  65110	   1820	  31008	  97938	  17e92	ticker.exe
  21906	   1088	  31712	  54706	   d5b2	minimum.exe
  78376	   1908	  30912	 111196	  1b25c	nsecs.exe
  63254	   1820	  31008	  96082	  17752	base_sp.exe
  65106	   1844	  30976	  97926	  17e86	unlimited.exe
  75538	   1796	  31040	 108374	  1a756	hello.exe

The size of the sample executables with this option were:

   text	   data	    bss	    	  dec	    	  hex	filename
  61042	   1808	  31008	  93858	  16ea2	ticker.exe
  14864	    288	  32512	  47664	   ba30	minimum.exe
  74632	   1896	  30912	 107440	  1a3b0	nsecs.exe
  59070	   1808	  31008	  91886	  166ee	base_sp.exe
  60030	   1816	  31008	  92854	  16ab6	unlimited.exe
  70122	   1744	  31072	 102938	  1921a	hello.exe

For the lpc23xx_tli800 BSP variant:

The size of the sample executables without this option were:

   text	   data	    bss	    	  dec	    	  hex	filename
  65110	   1820	  31008	  97938	  17e92	ticker.exe
  21906	   1088	  31712	  54706	   d5b2	minimum.exe
  78376	   1908	  30912	 111196	  1b25c	nsecs.exe
  63254	   1820	  31008	  96082	  17752	base_sp.exe
  65106	   1844	  30976	  97926	  17e86	unlimited.exe
  75538	   1796	  31040	 108374	  1a756	hello.exe

For the lpc23xx_tli800 BSP variant:

   text	   data	    bss	    	  dec	    	  hex	filename
  61042	   1808	  31008	  93858	  16ea2	ticker.exe
  14864	    288	  32512	  47664	   ba30	minimum.exe
  74632	   1896	  30912	 107440	  1a3b0	nsecs.exe
  59070	   1808	  31008	  91886	  166ee	base_sp.exe
  60030	   1816	  31008	  92854	  16ab6	unlimited.exe
  70122	   1744	  31072	 102938	  1921a	hello.exe

For the lpc24xx_ea BSP variant:

The size of the sample executables without this option were:

   text	   data	    bss	    	  dec	    	  hex	filename
  64458	   1724	33553760	33619942	200ffe6	ticker.exe
  21402	   1088	33597472	33619962	200fffa	minimum.exe
 585614	   2004	33032320	33619938	200ffe2	cxx_iostream.exe
 372001	   5808	33242144	33619953	200fff1	fileio.exe
 288766	  12616	33318560	33619942	200ffe6	pppd.exe
 135302	   2360	33482272	33619934	200ffde	capture.exe
  77732	   1812	33540416	33619960	200fff8	nsecs.exe
 126250	   2100	33491584	33619934	200ffde	paranoia.exe
 136950	   1756	33481248	33619954	200fff2	cdtest.exe
  62602	   1724	33555616	33619942	200ffe6	base_sp.exe
  64462	   1748	33553728	33619938	200ffe2	unlimited.exe
  74890	   1700	33543360	33619950	200ffee	hello.exe
 176902	   6500	33436544	33619946	200ffea	loopback.exe

The size of the sample executables with this option were:

   text	   data	    bss	    	  dec	    	  hex	filename
  60234	   1712	33557984	33619930	200ffda	ticker.exe
  14360	    288	33605312	33619960	200fff8	minimum.exe
 368478	   1976	33249504	33619958	200fff6	cxx_iostream.exe
 362089	   5796	33252064	33619949	200ffed	fileio.exe
 268310	  12464	33339168	33619942	200ffe6	pppd.exe
 129382	   2340	33488224	33619946	200ffea	capture.exe
  73824	   1800	33544320	33619944	200ffe8	nsecs.exe
 122250	   2088	33495616	33619954	200fff2	paranoia.exe
 130694	   1744	33487520	33619958	200fff6	cdtest.exe
  58262	   1712	33559968	33619942	200ffe6	base_sp.exe
  59222	   1720	33559008	33619950	200ffee	unlimited.exe
  69314	   1648	33548992	33619954	200fff2	hello.exe
 164318	   6400	33449216	33619934	200ffde	loopback.exe

For the lpc24xx_ncs_ram BSP variant:

The size of the sample executables without this option were:

   text	   data	    bss	    	  dec	    	  hex	filename
  64606	   1820	8387712	8454138	 80fffa	ticker.exe
  21402	   1088	8431648	8454138	 80fffa	minimum.exe
 585766	   2100	7866240	8454106	 80ffda	cxx_iostream.exe
 372158	   5904	8076064	8454126	 80ffee	fileio.exe
 288918	  12712	8152480	8454110	 80ffde	pppd.exe
 135446	   2456	8316224	8454126	 80ffee	capture.exe
  77880	   1908	8374336	8454124	 80ffec	nsecs.exe
 126402	   2196	8325536	8454134	 80fff6	paranoia.exe
 137102	   1852	8315168	8454122	 80ffea	cdtest.exe
  62750	   1820	8389568	8454138	 80fffa	base_sp.exe
  64610	   1844	8387680	8454134	 80fff6	unlimited.exe
  75042	   1796	8377280	8454118	 80ffe6	hello.exe
 177046	   6596	8270496	8454138	 80fffa	loopback.exe

The size of the sample executables with this option were:

   text	   data	    bss	    	  dec	    	  hex	filename
  60538	   1808	8391776	8454122	 80ffea	ticker.exe
  14360	    288	8439488	8454136	 80fff8	minimum.exe
 368782	   2072	8083264	8454118	 80ffe6	cxx_iostream.exe
 362398	   5892	8085824	8454114	 80ffe2	fileio.exe
 268614	  12560	8172960	8454134	 80fff6	pppd.exe
 129686	   2436	8322016	8454138	 80fffa	capture.exe
  74128	   1896	8378080	8454104	 80ffd8	nsecs.exe
 122554	   2184	8329376	8454114	 80ffe2	paranoia.exe
 130998	   1840	8321280	8454118	 80ffe6	cdtest.exe
  58566	   1808	8393760	8454134	 80fff6	base_sp.exe
  59526	   1816	8392768	8454110	 80ffde	unlimited.exe
  69618	   1744	8382752	8454114	 80ffe2	hello.exe
 164622	   6496	8283008	8454126	 80ffee	loopback.exe

For the lpc24xx_ncs_rom_ext BSP variant:

The size of the sample executables without this option were:

   text	   data	    bss	    	  dec	    	  hex	filename
  64810	   1820	4194912	4261542	 4106a6	ticker.exe
  21606	   1088	4238848	4261542	 4106a6	minimum.exe
 585970	   2100	3673472	4261542	 4106a6	cxx_iostream.exe
 372366	   5904	3883264	4261534	 41069e	fileio.exe
 289122	  12712	3959712	4261546	 4106aa	pppd.exe
 135650	   2456	4123424	4261530	 41069a	capture.exe
  78084	   1908	4181536	4261528	 410698	nsecs.exe
 126606	   2196	4132736	4261538	 4106a2	paranoia.exe
 137306	   1852	4122368	4261526	 410696	cdtest.exe
  62954	   1820	4196768	4261542	 4106a6	base_sp.exe
  64814	   1844	4194880	4261538	 4106a2	unlimited.exe
  75246	   1796	4184480	4261522	 410692	hello.exe
 177250	   6596	4077696	4261542	 4106a6	loopback.exe

The size of the sample executables with this option were:

   text	   data	    bss	    	  dec	    	  hex	filename
  60742	   1808	4198976	4261526	 410696	ticker.exe
  14564	    288	4246688	4261540	 4106a4	minimum.exe
 368986	   2072	3890464	4261522	 410692	cxx_iostream.exe
 362606	   5892	3893024	4261522	 410692	fileio.exe
 268818	  12560	3980160	4261538	 4106a2	pppd.exe
 129890	   2436	4129216	4261542	 4106a6	capture.exe
  74332	   1896	4185312	4261540	 4106a4	nsecs.exe
 122758	   2184	4136576	4261518	 41068e	paranoia.exe
 131202	   1840	4128480	4261522	 410692	cdtest.exe
  58770	   1808	4200960	4261538	 4106a2	base_sp.exe
  59730	   1816	4200000	4261546	 4106aa	unlimited.exe
  69822	   1744	4189952	4261518	 41068e	hello.exe
 164826	   6496	4090208	4261530	 41069a	loopback.exe

For the lpc24xx_ncs_rom_int BSP variant:

The size of the sample executables without this option were:

   text	   data	    bss	    	  dec	    	  hex	filename
  64746	   1820	4226400	4292966	 418166	ticker.exe
  21542	   1088	4227104	4249734	 40d886	minimum.exe
 372302	   5904	4222336	4600542	 4632de	fileio.exe
 289058	  12712	4215808	4517578	 44eeca	pppd.exe
 135586	   2456	4225792	4363834	 42963a	capture.exe
  78020	   1908	4226304	4306232	 41b538	nsecs.exe
 126542	   2196	4226016	4354754	 4272c2	paranoia.exe
 137242	   1852	4226400	4365494	 429cb6	cdtest.exe
  62890	   1820	4226400	4291110	 417a26	base_sp.exe
  64750	   1844	4226368	4292962	 418162	unlimited.exe
  75182	   1796	4226432	4303410	 41aa32	hello.exe
 177186	   6596	4221920	4405702	 4339c6	loopback.exe

The size of the sample executables with this option were:

   text	   data	    bss	    	  dec	    	  hex	filename
  60678	   1808	4226400	4288886	 417176	ticker.exe
  14500	    288	4227904	4242692	 40bd04	minimum.exe
 368922	   2072	4226176	4597170	 4625b2	cxx_iostream.exe
 362542	   5892	4222368	4590802	 460cd2	fileio.exe
 268754	  12560	4215936	4497250	 449f62	pppd.exe
 129826	   2436	4225792	4358054	 427fa6	capture.exe
  74268	   1896	4226304	4302468	 41a684	nsecs.exe
 122694	   2184	4226016	4350894	 4263ae	paranoia.exe
 131138	   1840	4226400	4359378	 4284d2	cdtest.exe
  58706	   1808	4226400	4286914	 4169c2	base_sp.exe
  59666	   1816	4226400	4287882	 416d8a	unlimited.exe
  69758	   1744	4226464	4297966	 4194ee	hello.exe
 164762	   6496	4222016	4393274	 43093a	loopback.exe

For the lpc24xx_plx800_ram BSP variant:

The size of the sample executables without this option were:

   text	   data	    bss	    	  dec	    	  hex	filename
  64618	   1820	33553504	33619942	200ffe6	ticker.exe
  21414	   1088	33597440	33619942	200ffe6	minimum.exe
 585778	   2100	33032064	33619942	200ffe6	cxx_iostream.exe
 372173	   5904	33241888	33619965	200fffd	fileio.exe
 288914	  12712	33318336	33619962	200fffa	pppd.exe
 135458	   2456	33482048	33619962	200fffa	capture.exe
  77892	   1908	33540160	33619960	200fff8	nsecs.exe
 126414	   2196	33491328	33619938	200ffe2	paranoia.exe
 137114	   1852	33480992	33619958	200fff6	cdtest.exe
  62762	   1820	33555360	33619942	200ffe6	base_sp.exe
  64622	   1844	33553472	33619938	200ffe2	unlimited.exe
  75054	   1796	33543104	33619954	200fff2	hello.exe
 177058	   6596	33436288	33619942	200ffe6	loopback.exe

The size of the sample executables with this option were:

   text	   data	    bss	    	  dec	    	  hex	filename
  60550	   1808	33557600	33619958	200fff6	ticker.exe
  14372	    288	33605280	33619940	200ffe4	minimum.exe
 368794	   2072	33249088	33619954	200fff2	cxx_iostream.exe
 362413	   5892	33251648	33619953	200fff1	fileio.exe
 268610	  12560	33338784	33619954	200fff2	pppd.exe
 129698	   2436	33487808	33619942	200ffe6	capture.exe
  74140	   1896	33543904	33619940	200ffe4	nsecs.exe
 122566	   2184	33495200	33619950	200ffee	paranoia.exe
 131010	   1840	33487104	33619954	200fff2	cdtest.exe
  58578	   1808	33559552	33619938	200ffe2	base_sp.exe
  59538	   1816	33558592	33619946	200ffea	unlimited.exe
  69630	   1744	33548576	33619950	200ffee	hello.exe
 164634	   6496	33448832	33619962	200fffa	loopback.exe

For the lpc24xx_plx800_rom_int BSP variant:

The size of the sample executables without this option were:

   text	   data	    bss	    	  dec	    	  hex	filename
  64762	   1820	33618208	33684790	201fd36	ticker.exe
  21558	   1088	33618912	33641558	2015456	minimum.exe
 372321	   5904	33614144	33992369	206aeb1	fileio.exe
 289058	  12712	33607616	33909386	2056a8a	pppd.exe
 135602	   2456	33617600	33755658	203120a	capture.exe
  78036	   1908	33618112	33698056	2023108	nsecs.exe
 126558	   2196	33617824	33746578	202ee92	paranoia.exe
 137258	   1852	33618208	33757318	2031886	cdtest.exe
  62906	   1820	33618208	33682934	201f5f6	base_sp.exe
  64766	   1844	33618176	33684786	201fd32	unlimited.exe
  75198	   1796	33618240	33695234	2022602	hello.exe
 177202	   6596	33613728	33797526	203b596	loopback.exe

The size of the sample executables with this option were:

   text	   data	    bss	    	  dec	    	  hex	filename
  60694	   1808	33618208	33680710	201ed46	ticker.exe
  14516	    288	33619712	33634516	20138d4	minimum.exe
 368938	   2072	33617984	33988994	206a182	cxx_iostream.exe
 362561	   5892	33614176	33982629	20688a5	fileio.exe
 268754	  12560	33607744	33889058	2051b22	pppd.exe
 129842	   2436	33617600	33749878	202fb76	capture.exe
  74284	   1896	33618112	33694292	2022254	nsecs.exe
 122710	   2184	33617824	33742718	202df7e	paranoia.exe
 131154	   1840	33618208	33751202	20300a2	cdtest.exe
  58722	   1808	33618208	33678738	201e592	base_sp.exe
  59682	   1816	33618208	33679706	201e95a	unlimited.exe
  69774	   1744	33618272	33689790	20210be	hello.exe
 164778	   6496	33613824	33785098	203850a	loopback.exe

---

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

diff --git a/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc24xx.inc b/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc24xx.inc
index 09f46b5..9bcef4b 100644
--- a/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc24xx.inc
+++ b/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc24xx.inc
@@ -9,3 +9,6 @@ RTEMS_CPU = arm
 CPU_CFLAGS = -mcpu=arm7tdmi-s -mthumb
 
 CFLAGS_OPTIMIZE_V = -Os -g
+CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
+
+LDFLAGS = -Wl,--gc-sections



More information about the vc mailing list