forked from Imagelibrary/rtems
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:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user