[rtems commit] arm/gdbarmsim: Add per-section compilation and linking support
Joel Sherrill
joel at rtems.org
Sat Jan 9 19:59:40 UTC 2016
Module: rtems
Branch: master
Commit: 33ae226dfd634ee83c684edbc7ec66a4aa205c41
Changeset: http://git.rtems.org/rtems/commit/?id=33ae226dfd634ee83c684edbc7ec66a4aa205c41
Author: Aun-Ali Zaidi <admin at kodeit.net>
Date: Sat Jan 9 13:05:12 2016 -0600
arm/gdbarmsim: Add per-section compilation and linking support
ARM1136JF-S
===========
The size of the sample executables without this option were:
text data bss dec hex filename
45920 1392 4146980 4194292 3ffff4 minimum.exe
88704 1668 4103908 4194280 3fffe8 base_sp.exe
109060 1756 4083460 4194276 3fffe4 nsecs.exe
186464 2144 4005668 4194276 3fffe4 capture.exe
200824 1696 3991776 4194296 3ffff8 cdtest.exe
174568 2044 4017668 4194280 3fffe8 paranoia.exe
102836 1636 4089828 4194300 3ffffc hello.exe
549204 5580 3639488 4194272 3fffe0 fileio.exe
92060 1668 4100576 4194304 400000 ticker.exe
265276 6440 3922560 4194276 3fffe4 loopback.exe
588468 1904 3603904 4194276 3fffe4 cxx_iostream.exe
441248 12556 3740480 4194284 3fffec pppd.exe
91712 1692 4100900 4194304 400000 unlimited.exe
The size of the sample executables with this option enabled were:
text data bss dec hex filename
28228 1212 4164864 4194304 400000 minimum.exe
79944 1636 4112708 4194288 3ffff0 base_sp.exe
100388 1724 4092164 4194276 3fffe4 nsecs.exe
175784 2104 4016388 4194276 3fffe4 capture.exe
190152 1672 4002464 4194288 3ffff0 cdtest.exe
165632 2012 4026628 4194272 3fffe0 paranoia.exe
93276 1604 4099396 4194276 3fffe4 hello.exe
530500 5548 3658240 4194288 3ffff0 fileio.exe
83292 1636 4109376 4194304 400000 ticker.exe
242724 6328 3945248 4194300 3ffffc loopback.exe
409528 1880 3782884 4194292 3ffff4 cxx_iostream.exe
405816 12392 3776068 4194276 3fffe4 pppd.exe
82476 1668 4110144 4194288 3ffff0 unlimited.exe
ARM1136J-S
==========
The size of the sample executables without this option were:
text data bss dec hex filename
45920 1392 4146980 4194292 3ffff4 minimum.exe
88704 1668 4103908 4194280 3fffe8 base_sp.exe
109060 1756 4083460 4194276 3fffe4 nsecs.exe
186464 2144 4005668 4194276 3fffe4 capture.exe
200824 1696 3991776 4194296 3ffff8 cdtest.exe
174568 2044 4017668 4194280 3fffe8 paranoia.exe
102836 1636 4089828 4194300 3ffffc hello.exe
549204 5580 3639488 4194272 3fffe0 fileio.exe
92060 1668 4100576 4194304 400000 ticker.exe
265276 6440 3922560 4194276 3fffe4 loopback.exe
588468 1904 3603904 4194276 3fffe4 cxx_iostream.exe
441248 12556 3740480 4194284 3fffec pppd.exe
91712 1692 4100900 4194304 400000 unlimited.exe
The size of the sample executables with this option enabled were:
text data bss dec hex filename
28228 1212 4164864 4194304 400000 minimum.exe
79944 1636 4112708 4194288 3ffff0 base_sp.exe
100388 1724 4092164 4194276 3fffe4 nsecs.exe
175784 2104 4016388 4194276 3fffe4 capture.exe
190152 1672 4002464 4194288 3ffff0 cdtest.exe
165632 2012 4026628 4194272 3fffe0 paranoia.exe
93276 1604 4099396 4194276 3fffe4 hello.exe
530500 5548 3658240 4194288 3ffff0 fileio.exe
83292 1636 4109376 4194304 400000 ticker.exe
242724 6328 3945248 4194300 3ffffc loopback.exe
409528 1880 3782884 4194292 3ffff4 cxx_iostream.exe
405816 12392 3776068 4194276 3fffe4 pppd.exe
82476 1668 4110144 4194288 3ffff0 unlimited.exe
ARM7TDMI
========
The size of the sample executables without this option were:
text data bss dec hex filename
47344 1392 4145540 4194276 3fffe4 minimum.exe
91352 1668 4101284 4194304 400000 base_sp.exe
111728 1756 4080804 4194288 3ffff0 nsecs.exe
190272 2144 4001860 4194276 3fffe4 capture.exe
203632 1696 3988960 4194288 3ffff0 cdtest.exe
179708 2044 4012548 4194300 3ffffc paranoia.exe
105184 1636 4087460 4194280 3fffe8 hello.exe
562224 5580 3626500 4194304 400000 fileio.exe
94788 1668 4097824 4194280 3fffe8 ticker.exe
270812 6440 3917024 4194276 3fffe4 loopback.exe
591284 1904 3601088 4194276 3fffe4 cxx_iostream.exe
449596 12556 3732128 4194280 3fffe8 pppd.exe
94400 1692 4098212 4194304 400000 unlimited.exe
The size of the sample executables with this option enabled were:
text data bss dec hex filename
29188 1212 4163904 4194304 400000 minimum.exe
82432 1636 4110212 4194280 3fffe8 base_sp.exe
102904 1724 4089668 4194296 3ffff8 nsecs.exe
179208 2104 4012964 4194276 3fffe4 capture.exe
192656 1672 3999968 4194296 3ffff8 cdtest.exe
170132 2012 4022148 4194292 3ffff4 paranoia.exe
95432 1604 4097252 4194288 3ffff0 hello.exe
542896 5548 3645860 4194304 400000 fileio.exe
85852 1636 4106816 4194304 400000 ticker.exe
247700 6328 3940256 4194284 3fffec loopback.exe
412032 1880 3780388 4194300 3ffffc cxx_iostream.exe
413348 12392 3768548 4194288 3ffff0 pppd.exe
84996 1668 4107616 4194280 3fffe8 unlimited.exe
ARM920
======
The size of the sample executables without this option were:
text data bss dec hex filename
47416 1392 4145476 4194284 3fffec minimum.exe
91420 1668 4101216 4194304 400000 base_sp.exe
111812 1756 4080736 4194304 400000 nsecs.exe
190340 2144 4001796 4194280 3fffe8 capture.exe
203704 1696 3988896 4194296 3ffff8 cdtest.exe
179692 2044 4012548 4194284 3fffec paranoia.exe
105256 1636 4087396 4194288 3ffff0 hello.exe
562560 5580 3626148 4194288 3ffff0 fileio.exe
94848 1668 4097764 4194280 3fffe8 ticker.exe
270804 6440 3917056 4194300 3ffffc loopback.exe
591348 1904 3601024 4194276 3fffe4 cxx_iostream.exe
449616 12556 3732128 4194300 3ffffc pppd.exe
94476 1692 4098112 4194280 3fffe8 unlimited.exe
The size of the sample executables with this option enabled were:
text data bss dec hex filename
29268 1212 4163808 4194288 3ffff0 minimum.exe
82508 1636 4110144 4194288 3ffff0 base_sp.exe
102988 1724 4089568 4194280 3fffe8 nsecs.exe
179276 2104 4012900 4194280 3fffe8 capture.exe
192736 1672 3999872 4194280 3fffe8 cdtest.exe
170124 2012 4022148 4194284 3fffec paranoia.exe
95504 1604 4097188 4194296 3ffff8 hello.exe
543248 5548 3645508 4194304 400000 fileio.exe
85920 1636 4106724 4194280 3fffe8 ticker.exe
247676 6328 3940288 4194292 3ffff4 loopback.exe
412104 1880 3780292 4194276 3fffe4 cxx_iostream.exe
413392 12392 3768516 4194300 3ffffc pppd.exe
85080 1668 4107556 4194304 400000 unlimited.exe
ARM CORTEX A9
=============
The size of the sample executables without this option were:
text data bss dec hex filename
46628 1392 4146272 4194292 3ffff4 minimum.exe
89596 1668 4103040 4194304 400000 base_sp.exe
109968 1756 4082560 4194284 3fffec nsecs.exe
187540 2144 4004612 4194296 3ffff8 capture.exe
201824 1696 3990752 4194272 3fffe0 cdtest.exe
176032 2044 4016196 4194272 3fffe0 paranoia.exe
103636 1636 4089028 4194300 3ffffc hello.exe
550428 5580 3638272 4194280 3fffe8 fileio.exe
93148 1668 4099488 4194304 400000 ticker.exe
267048 6440 3920800 4194288 3ffff0 loopback.exe
589380 1904 3603008 4194292 3ffff4 cxx_iostream.exe
444292 12556 3737440 4194288 3ffff0 pppd.exe
92568 1692 4100036 4194296 3ffff8 unlimited.exe
The size of the sample executables with this option enabled were:
text data bss dec hex filename
28604 1212 4164480 4194296 3ffff8 minimum.exe
80652 1636 4112000 4194288 3ffff0 base_sp.exe
101116 1724 4091460 4194300 3ffffc nsecs.exe
176744 2104 4015428 4194276 3fffe4 capture.exe
190956 1672 4001664 4194292 3ffff4 cdtest.exe
166892 2012 4025380 4194284 3fffec paranoia.exe
93848 1604 4098820 4194272 3fffe0 hello.exe
531552 5548 3657184 4194284 3fffec fileio.exe
84200 1636 4108452 4194288 3ffff0 ticker.exe
244324 6328 3943648 4194300 3ffffc loopback.exe
410260 1880 3782148 4194288 3ffff0 cxx_iostream.exe
408736 12392 3773156 4194284 3fffec pppd.exe
83140 1668 4109472 4194280 3fffe8 unlimited.exe
---
c/src/lib/libbsp/arm/gdbarmsim/make/custom/arm1136jfs.cfg | 4 ++++
c/src/lib/libbsp/arm/gdbarmsim/make/custom/arm1136js.cfg | 4 ++++
c/src/lib/libbsp/arm/gdbarmsim/make/custom/arm7tdmi.cfg | 4 ++++
c/src/lib/libbsp/arm/gdbarmsim/make/custom/arm920.cfg | 4 ++++
c/src/lib/libbsp/arm/gdbarmsim/make/custom/armcortexa9.cfg | 4 ++++
5 files changed, 20 insertions(+)
diff --git a/c/src/lib/libbsp/arm/gdbarmsim/make/custom/arm1136jfs.cfg b/c/src/lib/libbsp/arm/gdbarmsim/make/custom/arm1136jfs.cfg
index efa7a9e..a802a8f 100644
--- a/c/src/lib/libbsp/arm/gdbarmsim/make/custom/arm1136jfs.cfg
+++ b/c/src/lib/libbsp/arm/gdbarmsim/make/custom/arm1136jfs.cfg
@@ -13,3 +13,7 @@ CPU_CFLAGS = -mcpu=arm1136jf-s
# optimize flag: typically -O2
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
diff --git a/c/src/lib/libbsp/arm/gdbarmsim/make/custom/arm1136js.cfg b/c/src/lib/libbsp/arm/gdbarmsim/make/custom/arm1136js.cfg
index 5847fc2..7ae3e6b 100644
--- a/c/src/lib/libbsp/arm/gdbarmsim/make/custom/arm1136js.cfg
+++ b/c/src/lib/libbsp/arm/gdbarmsim/make/custom/arm1136js.cfg
@@ -13,3 +13,7 @@ CPU_CFLAGS = -mcpu=arm1136j-s
# optimize flag: typically -O2
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
diff --git a/c/src/lib/libbsp/arm/gdbarmsim/make/custom/arm7tdmi.cfg b/c/src/lib/libbsp/arm/gdbarmsim/make/custom/arm7tdmi.cfg
index 6bcc460..28a2e76 100644
--- a/c/src/lib/libbsp/arm/gdbarmsim/make/custom/arm7tdmi.cfg
+++ b/c/src/lib/libbsp/arm/gdbarmsim/make/custom/arm7tdmi.cfg
@@ -13,3 +13,7 @@ CPU_CFLAGS = -mcpu=arm7tdmi
# optimize flag: typically -O2
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
diff --git a/c/src/lib/libbsp/arm/gdbarmsim/make/custom/arm920.cfg b/c/src/lib/libbsp/arm/gdbarmsim/make/custom/arm920.cfg
index 8d30b17..72478f8 100644
--- a/c/src/lib/libbsp/arm/gdbarmsim/make/custom/arm920.cfg
+++ b/c/src/lib/libbsp/arm/gdbarmsim/make/custom/arm920.cfg
@@ -13,3 +13,7 @@ CPU_CFLAGS = -mcpu=arm920
# optimize flag: typically -O2
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
diff --git a/c/src/lib/libbsp/arm/gdbarmsim/make/custom/armcortexa9.cfg b/c/src/lib/libbsp/arm/gdbarmsim/make/custom/armcortexa9.cfg
index 2f19002..693eb9f 100644
--- a/c/src/lib/libbsp/arm/gdbarmsim/make/custom/armcortexa9.cfg
+++ b/c/src/lib/libbsp/arm/gdbarmsim/make/custom/armcortexa9.cfg
@@ -14,3 +14,7 @@ CPU_CFLAGS = -mcpu=cortex-a9
# optimize flag: typically -O2
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
More information about the vc
mailing list