diff options
author | Joel Sherrill <joel.sherrill@oarcorp.com> | 2013-10-24 18:37:17 -0500 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@oarcorp.com> | 2013-10-24 18:42:39 -0500 |
commit | 24a6943c66d64dd16f79eeeaf88e3af30ed6fb36 (patch) | |
tree | 94374e5197b5ff567799de473c10fba1dfc5f66f /c/src/lib/libbsp/sparc/shared/startup | |
parent | bsp/stm32f4: Bugfix for I2C driver. (diff) | |
download | rtems-24a6943c66d64dd16f79eeeaf88e3af30ed6fb36.tar.bz2 |
sparc all BSPs: Use function and data sections
This reduces the size of the RTEMS tests on average about 45%.
Diffstat (limited to 'c/src/lib/libbsp/sparc/shared/startup')
-rw-r--r-- | c/src/lib/libbsp/sparc/shared/startup/linkcmds.base | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base b/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base index e61a55475a..fd910851f6 100644 --- a/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base +++ b/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base @@ -3,6 +3,7 @@ OUTPUT_ARCH(sparc) __DYNAMIC = 0; +ENTRY(start) /* * The memory map looks like this: @@ -101,8 +102,8 @@ SECTIONS etext = ALIGN(0x10); _etext = .; - *(.init) - *(.fini) + KEEP(*(.init)) + KEEP(*(.fini)) *(.lit) *(.shdata) . = ALIGN (16); @@ -110,22 +111,22 @@ SECTIONS .robsdsets : { /* for pre rtems-libbsd FreeBSD code */ __start_set_sysctl_set = .; - *(set_sysctl_*); + KEEP(*(set_sysctl_*)); __stop_set_sysctl_set = .; - *(set_domain_*); - *(set_pseudo_*); + KEEP(*(set_domain_*)); + KEEP(*(set_pseudo_*)); /* for rtems-libbsd FreeBSD code */ _bsd__start_set_modmetadata_set = .; - *(_bsd_set_modmetadata_set); + KEEP(*(_bsd_set_modmetadata_set)); _bsd__stop_set_modmetadata_set = .; _bsd__start_set_sysctl_set = .; - *(_bsd_set_sysctl_set); + KEEP(*(_bsd_set_sysctl_set)); _bsd__stop_set_sysctl_set = .; _bsd__start_set_sysinit_set = .; - *(_bsd_set_sysinit_*); + KEEP(*(_bsd_set_sysinit_*)); _bsd__stop_set_sysinit_set = .; . = ALIGN (16); |