sparc all BSPs: Use function and data sections

This reduces the size of the RTEMS tests on average about 45%.
This commit is contained in:
Joel Sherrill
2013-10-24 18:37:17 -05:00
parent 0255beaf17
commit 24a6943c66
4 changed files with 18 additions and 8 deletions

View File

@@ -13,3 +13,6 @@ CPU_CFLAGS = -mcpu=cypress
# optimize flag: typically -O2 # optimize flag: typically -O2
CFLAGS_OPTIMIZE_V = -O2 -g CFLAGS_OPTIMIZE_V = -O2 -g
CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
LDFLAGS = -Wl,--gc-sections

View File

@@ -13,3 +13,6 @@ CPU_CFLAGS = -mcpu=cypress -msoft-float
# optimize flag: typically -O2 # optimize flag: typically -O2
CFLAGS_OPTIMIZE_V = -O2 -g CFLAGS_OPTIMIZE_V = -O2 -g
CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
LDFLAGS = -Wl,--gc-sections

View File

@@ -13,3 +13,6 @@ CPU_CFLAGS = -mcpu=cypress -msoft-float
# optimize flag: typically -O2 # optimize flag: typically -O2
CFLAGS_OPTIMIZE_V = -O2 -g CFLAGS_OPTIMIZE_V = -O2 -g
CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
LDFLAGS = -Wl,--gc-sections

View File

@@ -3,6 +3,7 @@
OUTPUT_ARCH(sparc) OUTPUT_ARCH(sparc)
__DYNAMIC = 0; __DYNAMIC = 0;
ENTRY(start)
/* /*
* The memory map looks like this: * The memory map looks like this:
@@ -101,8 +102,8 @@ SECTIONS
etext = ALIGN(0x10); etext = ALIGN(0x10);
_etext = .; _etext = .;
*(.init) KEEP(*(.init))
*(.fini) KEEP(*(.fini))
*(.lit) *(.lit)
*(.shdata) *(.shdata)
. = ALIGN (16); . = ALIGN (16);
@@ -110,22 +111,22 @@ SECTIONS
.robsdsets : { .robsdsets : {
/* for pre rtems-libbsd FreeBSD code */ /* for pre rtems-libbsd FreeBSD code */
__start_set_sysctl_set = .; __start_set_sysctl_set = .;
*(set_sysctl_*); KEEP(*(set_sysctl_*));
__stop_set_sysctl_set = .; __stop_set_sysctl_set = .;
*(set_domain_*); KEEP(*(set_domain_*));
*(set_pseudo_*); KEEP(*(set_pseudo_*));
/* for rtems-libbsd FreeBSD code */ /* for rtems-libbsd FreeBSD code */
_bsd__start_set_modmetadata_set = .; _bsd__start_set_modmetadata_set = .;
*(_bsd_set_modmetadata_set); KEEP(*(_bsd_set_modmetadata_set));
_bsd__stop_set_modmetadata_set = .; _bsd__stop_set_modmetadata_set = .;
_bsd__start_set_sysctl_set = .; _bsd__start_set_sysctl_set = .;
*(_bsd_set_sysctl_set); KEEP(*(_bsd_set_sysctl_set));
_bsd__stop_set_sysctl_set = .; _bsd__stop_set_sysctl_set = .;
_bsd__start_set_sysinit_set = .; _bsd__start_set_sysinit_set = .;
*(_bsd_set_sysinit_*); KEEP(*(_bsd_set_sysinit_*));
_bsd__stop_set_sysinit_set = .; _bsd__stop_set_sysinit_set = .;
. = ALIGN (16); . = ALIGN (16);