From 24a6943c66d64dd16f79eeeaf88e3af30ed6fb36 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 24 Oct 2013 18:37:17 -0500 Subject: sparc all BSPs: Use function and data sections This reduces the size of the RTEMS tests on average about 45%. --- c/src/lib/libbsp/sparc/shared/startup/linkcmds.base | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'c/src/lib/libbsp/sparc/shared/startup/linkcmds.base') 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); -- cgit v1.2.3