summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/nios2
diff options
context:
space:
mode:
authorJoel Sherrill <joel@rtems.org>2016-03-10 16:21:20 -0600
committerJoel Sherrill <joel@rtems.org>2016-03-10 18:10:17 -0600
commit1909efdb58d5c20e5e2f9be94147ce40e34c9b66 (patch)
tree2a47f2d5c1ffd2bfab1da7799234c0d6904780ed /c/src/lib/libbsp/nios2
parentm32csim.cfg: GCC PR37665 is fixed but there is still a compiler error. Use -O0. (diff)
downloadrtems-1909efdb58d5c20e5e2f9be94147ce40e34c9b66.tar.bz2
nios2/nios2_iss: Add per-section compilation and linking support
updates #2577. For the nios2_iss BSP variant without this option sample executables sizes were as follows: text data bss dec hex filename 198692 6672 6068 211432 339e8 ticker.exe 75408 1924 1892 79224 13578 minimum.exe 1044536 36308 14032 1094876 10b4dc cxx_iostream.exe 877164 68972 19300 965436 ebb3c fileio.exe 703628 48772 37196 789596 c0c5c pppd.exe 336340 19532 8972 364844 5912c capture.exe 216196 6912 6148 229256 37f88 nsecs.exe 319236 18048 6632 343916 53f6c paranoia.exe 317556 12944 7020 337520 52670 cdtest.exe 192980 6476 6036 205492 322b4 base_sp.exe 198068 6680 9876 214624 34660 unlimited.exe 206628 4856 6036 217520 351b0 hello.exe 459304 19208 13368 491880 78168 loopback.exe For the nios2_iss BSP variant with this option sample executables sizes were as follows: text data bss dec hex filename 187044 6560 6048 199652 30be4 ticker.exe 50944 828 1880 53652 d194 minimum.exe 731956 27876 13228 773060 bcbc4 cxx_iostream.exe 848108 67272 19020 934400 e4200 fileio.exe 645152 47968 36464 729584 b21f0 pppd.exe 315092 18792 8952 342836 53b34 capture.exe 205588 6780 6128 218496 35580 nsecs.exe 305684 17916 6612 330212 509e4 paranoia.exe 305360 11476 7000 323836 4f0fc cdtest.exe 179428 6364 6016 191808 2ed40 base_sp.exe 182036 6548 9856 198440 30728 unlimited.exe 189908 4708 6016 200632 30fb8 hello.exe 421696 18772 13280 453748 6ec74 loopback.exe
Diffstat (limited to 'c/src/lib/libbsp/nios2')
-rw-r--r--c/src/lib/libbsp/nios2/nios2_iss/make/custom/nios2_iss.cfg3
1 files changed, 3 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/nios2/nios2_iss/make/custom/nios2_iss.cfg b/c/src/lib/libbsp/nios2/nios2_iss/make/custom/nios2_iss.cfg
index 8254eecc39..2bec4b14cf 100644
--- a/c/src/lib/libbsp/nios2/nios2_iss/make/custom/nios2_iss.cfg
+++ b/c/src/lib/libbsp/nios2/nios2_iss/make/custom/nios2_iss.cfg
@@ -19,6 +19,9 @@ CPU_CFLAGS = -mno-hw-mul -mno-hw-div
# optimize flag: typically -O2
# ATM, doesn't work with optimization levels > 0
CFLAGS_OPTIMIZE_V = -O0 -g
+CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
+
+LDFLAGS = -Wl,--gc-sections
define bsp-post-link
$(OBJCOPY) -O binary --strip-all $(basename $@)$(EXEEXT) \