summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel@rtems.org>2016-03-10 13:35:14 -0600
committerJoel Sherrill <joel@rtems.org>2016-03-10 18:08:29 -0600
commit9d431a0b7c565ff0c978601d7a9440a1b4ef169e (patch)
tree9c0620f0c03b64e7587f55b8c939d5325cd8cb9c
parentarm/stm32f4: Add per-section compilation and linking support (diff)
downloadrtems-9d431a0b7c565ff0c978601d7a9440a1b4ef169e.tar.bz2
arm/tms570: Add per-section compilation and linking support
updates #2577. For the tms570ls3137_hdk BSP variant without this option, sample executables sizes were as follows: text data bss dec hex filename 63760 1708 260224 325692 4f83c ticker.exe 40197 1452 260480 302129 49c31 minimum.exe 557376 1972 260000 819348 c8094 cxx_iostream.exe 400269 5792 256192 662253 a1aed fileio.exe 304684 12608 249632 566924 8a68c pppd.exe 132744 2344 259616 394704 605d0 capture.exe 75578 1796 260160 337534 5267e nsecs.exe 113844 2084 259872 375800 5bbf8 paranoia.exe 126688 1732 260224 388644 5ee24 cdtest.exe 61480 1708 260224 323412 4ef54 base_sp.exe 63220 1716 260224 325160 4f628 unlimited.exe 68420 1668 260288 330376 50a88 hello.exe 181144 6492 255744 443380 6c3f4 loopback.exe For the tms570ls3137_hdk BSP variant with this option, sample executables sizes were as follows: text data bss dec hex filename 59824 1696 260256 321776 4e8f0 ticker.exe 24268 1372 260576 286216 45e08 minimum.exe 346612 1936 260032 608580 94944 cxx_iostream.exe 388973 5780 256192 650945 9eec1 fileio.exe 283096 12456 249760 545312 85220 pppd.exe 127016 2324 259648 388988 5ef7c capture.exe 71966 1784 260160 333910 51856 nsecs.exe 109904 2072 259872 371848 5ac88 paranoia.exe 120816 1720 260224 382760 5d728 cdtest.exe 57416 1696 260256 319368 4df88 base_sp.exe 58188 1688 260256 320132 4e284 unlimited.exe 63064 1616 260320 325000 4f588 hello.exe 167884 6392 255840 430116 69024 loopback.exe For the tms570ls3137_hdk_intram BSP variant without this option, sample executables sizes were as follows: text data bss dec hex filename 63760 1708 196384 261852 3fedc ticker.exe 40197 1452 220192 261841 3fed1 minimum.exe 132744 2344 126752 261840 3fed0 capture.exe 75578 1796 184484 261858 3fee2 nsecs.exe 113844 2084 145920 261848 3fed8 paranoia.exe 126688 1732 133440 261860 3fee4 cdtest.exe 61480 1708 198656 261844 3fed4 base_sp.exe 63220 1716 196900 261836 3fecc unlimited.exe 68420 1668 191744 261832 3fec8 hello.exe For the tms570ls3137_hdk_intram BSP variant with this option, sample executables sizes were as follows: text data bss dec hex filename 59824 1696 200320 261840 3fed0 ticker.exe 24268 1372 236196 261836 3fecc minimum.exe 127016 2324 132512 261852 3fedc capture.exe 71966 1784 188096 261846 3fed6 nsecs.exe 109904 2072 149856 261832 3fec8 paranoia.exe 120816 1720 139296 261832 3fec8 cdtest.exe 57416 1696 202720 261832 3fec8 base_sp.exe 58188 1688 201956 261832 3fec8 unlimited.exe 63064 1616 197152 261832 3fec8 hello.exe For the tms570ls3137_hdk_sdram BSP variant without this option, sample executables sizes were as follows: text data bss dec hex filename 63760 1708 8323104 8388572 7fffdc ticker.exe 40197 1452 8346912 8388561 7fffd1 minimum.exe 557376 1972 7829220 8388568 7fffd8 cxx_iostream.exe 400275 5792 7982500 8388567 7fffd7 fileio.exe 304684 12608 8071264 8388556 7fffcc pppd.exe 132744 2344 8253472 8388560 7fffd0 capture.exe 75578 1796 8311204 8388578 7fffe2 nsecs.exe 113844 2084 8272640 8388568 7fffd8 paranoia.exe 126688 1732 8260160 8388580 7fffe4 cdtest.exe 61480 1708 8325376 8388564 7fffd4 base_sp.exe 63220 1716 8323620 8388556 7fffcc unlimited.exe 68420 1668 8318464 8388552 7fffc8 hello.exe 181144 6492 8200928 8388564 7fffd4 loopback.exe For the tms570ls3137_hdk_sdram BSP variant with this option, sample executables sizes were as follows: text data bss dec hex filename 59824 1696 8327040 8388560 7fffd0 ticker.exe 24268 1372 8362916 8388556 7fffcc minimum.exe 346612 1936 8040004 8388552 7fffc8 cxx_iostream.exe 388979 5780 7993796 8388555 7fffcb fileio.exe 283096 12456 8092996 8388548 7fffc4 pppd.exe 127016 2324 8259232 8388572 7fffdc capture.exe 71966 1784 8314816 8388566 7fffd6 nsecs.exe 109904 2072 8276576 8388552 7fffc8 paranoia.exe 120816 1720 8266016 8388552 7fffc8 cdtest.exe 57416 1696 8329440 8388552 7fffc8 base_sp.exe 58188 1688 8328676 8388552 7fffc8 unlimited.exe 63064 1616 8323872 8388552 7fffc8 hello.exe 167884 6392 8214272 8388548 7fffc4 loopback.exe For the tms570ls3137_hdk_with_loader BSP variant without this option, sample executables sizes were as follows: text data bss dec hex filename 63760 1708 260224 325692 4f83c ticker.exe 40197 1452 260480 302129 49c31 minimum.exe 557376 1972 260000 819348 c8094 cxx_iostream.exe 400281 5792 256192 662265 a1af9 fileio.exe 304684 12608 249632 566924 8a68c pppd.exe 132744 2344 259616 394704 605d0 capture.exe 75578 1796 260160 337534 5267e nsecs.exe 113844 2084 259872 375800 5bbf8 paranoia.exe 126688 1732 260224 388644 5ee24 cdtest.exe 61480 1708 260224 323412 4ef54 base_sp.exe 63220 1716 260224 325160 4f628 unlimited.exe 68420 1668 260288 330376 50a88 hello.exe 181144 6492 255744 443380 6c3f4 loopback.exe For the tms570ls3137_hdk_with_loader BSP variant with this option, sample executables sizes were as follows: text data bss dec hex filename 59824 1696 260256 321776 4e8f0 ticker.exe 24268 1372 260576 286216 45e08 minimum.exe 346612 1936 260032 608580 94944 cxx_iostream.exe 388985 5780 256192 650957 9eecd fileio.exe 283096 12456 249760 545312 85220 pppd.exe 127016 2324 259648 388988 5ef7c capture.exe 71966 1784 260160 333910 51856 nsecs.exe 109904 2072 259872 371848 5ac88 paranoia.exe 120816 1720 260224 382760 5d728 cdtest.exe 57416 1696 260256 319368 4df88 base_sp.exe 58188 1688 260256 320132 4e284 unlimited.exe 63064 1616 260320 325000 4f588 hello.exe 167884 6392 255840 430116 69024 loopback.exe
-rw-r--r--c/src/lib/libbsp/arm/tms570/make/custom/tms570ls3137.inc7
1 files changed, 6 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/arm/tms570/make/custom/tms570ls3137.inc b/c/src/lib/libbsp/arm/tms570/make/custom/tms570ls3137.inc
index 869cf71829..76d5ccd2ba 100644
--- a/c/src/lib/libbsp/arm/tms570/make/custom/tms570ls3137.inc
+++ b/c/src/lib/libbsp/arm/tms570/make/custom/tms570ls3137.inc
@@ -6,9 +6,14 @@ include $(RTEMS_ROOT)/make/custom/default.cfg
RTEMS_CPU = arm
-CPU_CFLAGS = -march=armv7-r -mthumb -mbig-endian -mfpu=vfpv3-d16 -mfloat-abi=hard
+CPU_CFLAGS = -march=armv7-r -mthumb -mbig-endian
+CPU_CFLAGS += -mfpu=vfpv3-d16 -mfloat-abi=hard
CFLAGS_OPTIMIZE_V = -O2 -ggdb
+CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
+
+LDFLAGS = -Wl,--gc-sections
+
BINEXT?=.bin
# This defines the operations performed on the linked executable.