summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c/src/lib/libbsp/v850/gdbv850sim/make/custom/v850sim.inc3
-rw-r--r--c/src/lib/libbsp/v850/gdbv850sim/startup/linkcmds12
2 files changed, 14 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/v850/gdbv850sim/make/custom/v850sim.inc b/c/src/lib/libbsp/v850/gdbv850sim/make/custom/v850sim.inc
index 50de3fa9f7..21eba79dfd 100644
--- a/c/src/lib/libbsp/v850/gdbv850sim/make/custom/v850sim.inc
+++ b/c/src/lib/libbsp/v850/gdbv850sim/make/custom/v850sim.inc
@@ -10,3 +10,6 @@ RTEMS_CPU_MODEL=v850
# optimize flag: typically -O2
CFLAGS_OPTIMIZE_V = -O2 -g
+CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
+
+LDFLAGS = -Wl,--gc-sections
diff --git a/c/src/lib/libbsp/v850/gdbv850sim/startup/linkcmds b/c/src/lib/libbsp/v850/gdbv850sim/startup/linkcmds
index fcffb95dc4..fe0390dbca 100644
--- a/c/src/lib/libbsp/v850/gdbv850sim/startup/linkcmds
+++ b/c/src/lib/libbsp/v850/gdbv850sim/startup/linkcmds
@@ -89,8 +89,18 @@ SECTIONS
*(.call_table_text)
}
.fini : { KEEP (*(.fini)) } =0
- .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) KEEP (*(SORT(.rtemsroset.*))) }
+ .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
.rodata1 : { *(.rodata1) }
+ .rtemsroset : {
+ /* for pre rtems-libbsd FreeBSD code */
+ ___start_set_sysctl_set = .;
+ *(set_sysctl_*);
+ ___stop_set_sysctl_set = .;
+ *(set_domain_*);
+ *(set_pseudo_*);
+
+ KEEP (*(SORT(.rtemsroset.*)))
+ } =0xff
.tdata : {
__TLS_Data_begin = .;
*(.tdata .tdata.* .gnu.linkonce.td.*)