[rtems commit] arm/lm3s69xx: Add per-section compilation and linking support

Joel Sherrill joel at rtems.org
Sat Jan 9 21:11:26 UTC 2016


Module:    rtems
Branch:    master
Commit:    45351fcf5b3cbefbf6cabe1eaae0408ca5b85c26
Changeset: http://git.rtems.org/rtems/commit/?id=45351fcf5b3cbefbf6cabe1eaae0408ca5b85c26

Author:    Aun-Ali Zaidi <admin at kodeit.net>
Date:      Sat Jan  9 14:46:05 2016 -0600

arm/lm3s69xx: Add per-section compilation and linking support

LM3S3749
========

The size of the sample executables without this option were:

   text	   data	   bss	 dec	  hex	filename
  40900	   1496	  64064	 106460	  19fdc	minimum.exe
  61012	   1732	  63840	 126584	  1ee78	base_sp.exe
  74020	   1820	  63744	 139584	  22140	nsecs.exe
  70240	   1700	  63872	 135812	  21284	hello.exe
  63272	   1732	  63840	 128844	  1f74c	ticker.exe
  62608	   1756	  63808	 128172	  1f4ac	unlimited.exe

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

   text	   data	   bss	 dec	  hex	filename
  23644	   1268	  64288	  89200	  15c70	minimum.exe
  56500	   1708	  63872	 122080	  1dce0	base_sp.exe
  69560	   1796	  63776	 135132	  20fdc	nsecs.exe
  64904	   1676	  63904	 130484	  1fdb4	hello.exe
  58748	   1708	  63872	 124328	  1e5a8	ticker.exe
  57540	   1732	  63840	 123112	  1e0e8	unlimited.exe

LM3S6965
========

The size of the sample executables without this option were:

   text	   data	   bss	 dec	  hex	filename
  40892	   1496	  64064	 106452	  19fd4	minimum.exe
  61004	   1732	  63840	 126576	  1ee70	base_sp.exe
  74012	   1820	  63744	 139576	  22138	nsecs.exe
 128480	   2216	  63360	 194056	  2f608	capture.exe
 136424	   1752	  63840	 202016	  31520	cdtest.exe
 124368	   2108	  63456	 189932	  2e5ec	paranoia.exe
  70232	   1700	  63872	 135804	  2127c	hello.exe
  63264	   1732	  63840	 128836	  1f744	ticker.exe
 175644	   6512	  59360	 241516	  3af6c	loopback.exe
  62600	   1756	  63808	 128164	  1f4a4	unlimited.exe

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

   text	   data	   bss	 dec	  hex	filename
  23636	   1268	  64288	  89192	  15c68	minimum.exe
  56492	   1708	  63872	 122072	  1dcd8	base_sp.exe
  69552	   1796	  63776	 135124	  20fd4	nsecs.exe
 122712	   2184	  63392	 188288	  2df80	capture.exe
 130180	   1736	  63840	 195756	  2fcac	cdtest.exe
 119928	   2092	  63488	 185508	  2d4a4	paranoia.exe
  64896	   1676	  63904	 130476	  1fdac	hello.exe
  58740	   1708	  63872	 124320	  1e5a0	ticker.exe
 163228	   6408	  59456	 229092	  37ee4	loopback.exe
  57532	   1732	  63840	 123104	  1e0e0	unlimited.exe

LM3S6965 QEMU
=============

The size of the sample executables without this option were:

   text	   data	  bss		dec		hex	filename
  40892	   1496	16775744	16818132	1009fd4	minimum.exe
  61004	   1732	16775520	16838256	100ee70	base_sp.exe
  74012	   1820	16775424	16851256	1012138	nsecs.exe
 128480	   2216	16775040	16905736	101f608	capture.exe
 136424	   1752	16775520	16913696	1021520	cdtest.exe
 124368	   2108	16775136	16901612	101e5ec	paranoia.exe
  70232	   1700	16775552	16847484	101127c	hello.exe
 386388	   5644	16771616	17163648	105e580	fileio.exe
  63264	   1732	16775520	16840516	100f744	ticker.exe
 175644	   6512	16771040	16953196	102af6c	loopback.exe
 399404	   1960	16775296	17176660	1061854	cxx_iostream.exe
 296808	  12628	16764928	17074364	10488bc	pppd.exe
  62600	   1756	16775488	16839844	100f4a4	unlimited.exe

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

   text	   data	  bss		dec		hex	filename
  23636	   1268	16775968	16800872	1005c68	minimum.exe
  56492	   1708	16775552	16833752	100dcd8	base_sp.exe
  69552	   1796	16775456	16846804	1010fd4	nsecs.exe
 122712	   2184	16775072	16899968	101df80	capture.exe
 130180	   1736	16775520	16907436	101fcac	cdtest.exe
 119928	   2092	16775168	16897188	101d4a4	paranoia.exe
  64896	   1676	16775584	16842156	100fdac	hello.exe
 375128	   5620	16771616	17152364	105b96c	fileio.exe
  58740	   1708	16775552	16836000	100e5a0	ticker.exe
 163228	   6408	16771136	16940772	1027ee4	loopback.exe
 278700	   1936	16775328	17055964	10440dc	cxx_iostream.exe
 276104	  12472	16765056	17053632	10437c0	pppd.exe
  57532	   1732	16775520	16834784	100e0e0	unlimited.exe

LM4f120
=======

The size of the sample executables without this option were:

   text	   data	   bss	 dec	  hex	filename
  40896	   1496	  31296	  73688	  11fd8	minimum.exe
  61008	   1732	  31072	  93812	  16e74	base_sp.exe
  74016	   1820	  30976	 106812	  1a13c	nsecs.exe
 128480	   2216	  30592	 161288	  27608	capture.exe
 124368	   2108	  30688	 157164	  265ec	paranoia.exe
  70240	   1700	  31104	 103044	  19284	hello.exe
  63268	   1732	  31072	  96072	  17748	ticker.exe
 175644	   6512	  26592	 208748	  32f6c	loopback.exe
  62604	   1756	  31040	  95400	  174a8	unlimited.exe

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

   text	   data	   bss	 dec	  hex	filename
  23640	   1268	  31520	  56428	   dc6c	minimum.exe
  56496	   1708	  31104	  89308	  15cdc	base_sp.exe
  69556	   1796	  31008	 102360	  18fd8	nsecs.exe
 122720	   2184	  30624	 155528	  25f88	capture.exe
 119936	   2092	  30720	 152748	  254ac	paranoia.exe
  64904	   1676	  31136	  97716	  17db4	hello.exe
  58744	   1708	  31104	  91556	  165a4	ticker.exe
 163228	   6408	  26688	 196324	  2fee4	loopback.exe
  57536	   1732	  31072	  90340	  160e4	unlimited.exe

---

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

diff --git a/c/src/lib/libbsp/arm/lm3s69xx/make/custom/lm3s69xx.inc b/c/src/lib/libbsp/arm/lm3s69xx/make/custom/lm3s69xx.inc
index 362d9f4..954a43c 100644
--- a/c/src/lib/libbsp/arm/lm3s69xx/make/custom/lm3s69xx.inc
+++ b/c/src/lib/libbsp/arm/lm3s69xx/make/custom/lm3s69xx.inc
@@ -10,6 +10,10 @@ CPU_CFLAGS = -march=armv7-m -mthumb
 
 CFLAGS_OPTIMIZE_V = -O2 -g
 
+# Add CFLAGS and LDFLAGS for compiling and linking with per item sections
+CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
+LDFLAGS            = -Wl,--gc-sections
+
 define bsp-post-link
 	$(default-bsp-post-link)
 	$(OBJCOPY) -O binary $(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)



More information about the vc mailing list