m68k/uC5282: Add per-section compilation and linking (GCI 2018)

The size of the sample executables without this option were:

   text    data     bss     dec     hex filename
 120160    1520   14048  135728   21230 ./base_sp.exe
 205904    2112   16976  224992   36ee0 ./capture.exe
 257216    2912   15040  275168   432e0 ./cdtest.exe
 867616   21888   21776  911280   de7b0 ./cxx_iostream.exe
 574528    4640   26432  605600   93da0 ./fileio.exe
 138256    1520   14192  153968   25970 ./hello.exe
 268304    6032   20816  295152   480f0 ./loopback.exe
 102592    1376   10848  114816   1c080 ./minimum.exe
 137072    1632   14160  152864   25520 ./nsecs.exe
 213328    1920   14768  230016   38280 ./paranoia.exe
 439440   12048   43600  495088   78df0 ./pppd.exe
 122896    1536   14080  138512   21d10 ./ticker.exe
 123296    1488   17952  142736   22d90 ./unlimited.exe

The size of the sample executables with this option were:

   text    data     bss     dec     hex filename
  58752    1104    9968   69824   110c0 ./base_sp.exe
 180560    2096   14864  197520   30390 ./capture.exe
 165328    2080   10992  178400   2b8e0 ./cdtest.exe
 162288    2144   11152  175584   2ade0 ./cxx_iostream.exe
 545008    4624   24032  573664   8c0e0 ./fileio.exe
  85440    1456   10112   97008   17af0 ./hello.exe
 216528    5904   16688  239120   3a610 ./loopback.exe
  34944     960    6768   42672    a6b0 ./minimum.exe
  82064    1584   10096   93744   16e30 ./nsecs.exe
 163808    1872   10752  176432   2b130 ./paranoia.exe
 388960   11904   40768  441632   6bd20 ./pppd.exe
  61856    1136   10000   72992   11d20 ./ticker.exe
  61888    1072   13872   76832   12c20 ./unlimited.exe

Closes #2575
This commit is contained in:
Shashvat Jain
2018-11-26 01:47:54 +05:30
committed by Joel Sherrill
parent 183b0ae488
commit 1947449a5d

View File

@@ -7,7 +7,7 @@ RTEMS_CPU = m68k
include $(RTEMS_ROOT)/make/custom/default.cfg
# This contains the compiler options necessary to select the CPU model
# and (hopefully) optimize for it.
# and (hopefully) optimize for it.
CPU_CFLAGS = -mcpu=5282
# optimize flag: typically -O2
@@ -15,8 +15,8 @@ CFLAGS_OPTIMIZE_V = -O2 -g
# FIXME: Disabled because linkcmds lacks proper KEEP() directives. See #2575.
# The following two lines enable compiling and linking on per element.
# CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
# LDFLAGS = -Wl,--gc-sections
CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
LDFLAGS = -Wl,--gc-sections
define bsp-post-link
$(default-bsp-post-link)