summaryrefslogtreecommitdiffstats
path: root/c/src
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-12-04 15:39:20 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-12-16 15:15:39 +0100
commite4927eceff2cd82ad24600a1e53a99d8996d843e (patch)
tree43a2a7b8314f2d704d5b4be24eff44f95683f9f0 /c/src
parentbsps/arm: Use ALIGN_WITH_INPUT (diff)
downloadrtems-e4927eceff2cd82ad24600a1e53a99d8996d843e.tar.bz2
bsps: Simplify FreeBSD linker sets
Diffstat (limited to 'c/src')
-rw-r--r--c/src/lib/libbsp/arm/shared/startup/linkcmds.base17
-rw-r--r--c/src/lib/libbsp/i386/pc386/startup/linkcmds18
-rw-r--r--c/src/lib/libbsp/mips/jmr3904/startup/linkcmds19
-rw-r--r--c/src/lib/libbsp/mips/malta/startup/linkcmds20
-rw-r--r--c/src/lib/libbsp/powerpc/shared/startup/linkcmds.base16
-rw-r--r--c/src/lib/libbsp/sh/shsim/startup/linkcmds20
-rw-r--r--c/src/lib/libbsp/sparc/shared/startup/linkcmds.base18
7 files changed, 34 insertions, 94 deletions
diff --git a/c/src/lib/libbsp/arm/shared/startup/linkcmds.base b/c/src/lib/libbsp/arm/shared/startup/linkcmds.base
index 8920f38d97..a401e6cd7a 100644
--- a/c/src/lib/libbsp/arm/shared/startup/linkcmds.base
+++ b/c/src/lib/libbsp/arm/shared/startup/linkcmds.base
@@ -260,20 +260,15 @@ SECTIONS {
.got : ALIGN_WITH_INPUT {
*(.got.plt) *(.igot.plt) *(.got) *(.igot)
} > REGION_RODATA AT > REGION_RODATA_LOAD
- .robsdsets : ALIGN_WITH_INPUT {
+ .rtemsroset : ALIGN_WITH_INPUT {
/* Special FreeBSD linker set sections */
__start_set_sysctl_set = .;
*(set_sysctl_*);
__stop_set_sysctl_set = .;
*(set_domain_*);
*(set_pseudo_*);
- _bsd__start_set_modmetadata_set = .;
- *(_bsd_set_modmetadata_set);
- _bsd__stop_set_modmetadata_set = .;
- _bsd__start_set_sysctl_set = .;
- *(_bsd_set_sysctl_set);
- _bsd__stop_set_sysctl_set = .;
+ KEEP (*(SORT(.rtemsroset.*)))
bsp_section_rodata_end = .;
} > REGION_RODATA AT > REGION_RODATA_LOAD
bsp_section_rodata_size = bsp_section_rodata_end - bsp_section_rodata_begin;
@@ -352,12 +347,8 @@ SECTIONS {
.data1 : ALIGN_WITH_INPUT {
*(.data1)
} > REGION_DATA AT > REGION_DATA_LOAD
- .rwbsdsets : ALIGN_WITH_INPUT {
- /* Special FreeBSD linker set sections */
- _bsd__start_set_sysinit_set = .;
- *(_bsd_set_sysinit_set);
- _bsd__stop_set_sysinit_set = .;
-
+ .rtemsrwset : ALIGN_WITH_INPUT {
+ KEEP (*(SORT(.rtemsrwset.*)))
bsp_section_data_end = .;
} > REGION_DATA AT > REGION_DATA_LOAD
bsp_section_data_size = bsp_section_data_end - bsp_section_data_begin;
diff --git a/c/src/lib/libbsp/i386/pc386/startup/linkcmds b/c/src/lib/libbsp/i386/pc386/startup/linkcmds
index 599a9b2c0b..04d5fea6b2 100644
--- a/c/src/lib/libbsp/i386/pc386/startup/linkcmds
+++ b/c/src/lib/libbsp/i386/pc386/startup/linkcmds
@@ -73,7 +73,7 @@ SECTIONS
} =0x90909090
- .robsdsets : {
+ .rtemsroset : {
/* for pre rtems-libbsd FreeBSD code */
__start_set_sysctl_set = .;
*(set_sysctl_*);
@@ -81,20 +81,7 @@ SECTIONS
*(set_domain_*);
*(set_pseudo_*);
- /* for rtems-libbsd FreeBSD code */
- _bsd__start_set_modmetadata_set = .;
- *(_bsd_set_modmetadata_set);
- _bsd__stop_set_modmetadata_set = .;
-
- _bsd__start_set_sysctl_set = .;
- *(_bsd_set_sysctl_set);
- _bsd__stop_set_sysctl_set = .;
-
- _bsd__start_set_sysinit_set = .;
- *(_bsd_set_sysinit_*);
- _bsd__stop_set_sysinit_set = .;
-
- bsp_section_rodata_end = .;
+ KEEP (*(SORT(.rtemsroset.*)))
} =0x90909090
.init :
@@ -184,6 +171,7 @@ SECTIONS
SORT(CONSTRUCTORS)
}
.data1 : { *(.data1) }
+ .rtemsrwset : { KEEP (*(SORT(.rtemsrwset.*))) }
_edata = .; PROVIDE (edata = .);
__bss_start = .;
.bss :
diff --git a/c/src/lib/libbsp/mips/jmr3904/startup/linkcmds b/c/src/lib/libbsp/mips/jmr3904/startup/linkcmds
index 27c777af10..1360bf4651 100644
--- a/c/src/lib/libbsp/mips/jmr3904/startup/linkcmds
+++ b/c/src/lib/libbsp/mips/jmr3904/startup/linkcmds
@@ -30,7 +30,7 @@ SECTIONS
*(.eh_frame)
}
- .robsdsets : {
+ .rtemsroset : {
/* for pre rtems-libbsd FreeBSD code */
__start_set_sysctl_set = .;
*(set_sysctl_*);
@@ -38,18 +38,7 @@ SECTIONS
*(set_domain_*);
*(set_pseudo_*);
- /* for rtems-libbsd FreeBSD code */
- _bsd__start_set_modmetadata_set = .;
- *(_bsd_set_modmetadata_set);
- _bsd__stop_set_modmetadata_set = .;
-
- _bsd__start_set_sysctl_set = .;
- *(_bsd_set_sysctl_set);
- _bsd__stop_set_sysctl_set = .;
-
- _bsd__start_set_sysinit_set = .;
- *(_bsd_set_sysinit_*);
- _bsd__stop_set_sysinit_set = .;
+ KEEP (*(SORT(.rtemsroset.*)))
. = ALIGN (16);
_endtext = .;
@@ -114,6 +103,10 @@ SECTIONS
*(.gnu.linkonce.d*)
SORT(CONSTRUCTORS)
}
+
+ .rtemsrwset : {
+ KEEP (*(SORT(.rtemsrwset.*)))
+ }
. = ALIGN(8);
.jcr : {
diff --git a/c/src/lib/libbsp/mips/malta/startup/linkcmds b/c/src/lib/libbsp/mips/malta/startup/linkcmds
index 4ba76de368..0b11b9cd0a 100644
--- a/c/src/lib/libbsp/mips/malta/startup/linkcmds
+++ b/c/src/lib/libbsp/mips/malta/startup/linkcmds
@@ -75,7 +75,7 @@ SECTIONS
_etext = .;
}
- .robsdsets : {
+ .rtemsroset : {
/* for pre rtems-libbsd FreeBSD code */
__start_set_sysctl_set = .;
*(set_sysctl_*);
@@ -83,18 +83,7 @@ SECTIONS
*(set_domain_*);
*(set_pseudo_*);
- /* for rtems-libbsd FreeBSD code */
- _bsd__start_set_modmetadata_set = .;
- *(_bsd_set_modmetadata_set);
- _bsd__stop_set_modmetadata_set = .;
-
- _bsd__start_set_sysctl_set = .;
- *(_bsd_set_sysctl_set);
- _bsd__stop_set_sysctl_set = .;
-
- _bsd__start_set_sysinit_set = .;
- *(_bsd_set_sysinit_*);
- _bsd__stop_set_sysinit_set = .;
+ KEEP (*(SORT(.rtemsroset.*)))
. = ALIGN (16);
_endtext = .;
@@ -114,6 +103,11 @@ SECTIONS
*(.gnu.linkonce.d*)
SORT(CONSTRUCTORS)
}
+
+ .rtemsrwset : {
+ KEEP (*(SORT(.rtemsrwset.*)))
+ }
+
. = ALIGN(8);
.jcr : {
diff --git a/c/src/lib/libbsp/powerpc/shared/startup/linkcmds.base b/c/src/lib/libbsp/powerpc/shared/startup/linkcmds.base
index e90a2efbb3..5a330d6a39 100644
--- a/c/src/lib/libbsp/powerpc/shared/startup/linkcmds.base
+++ b/c/src/lib/libbsp/powerpc/shared/startup/linkcmds.base
@@ -226,20 +226,15 @@ SECTIONS {
.rela.plt : ALIGN_WITH_INPUT {
*(.rela.plt)
} > REGION_RODATA AT > REGION_RODATA_LOAD
- .robsdsets : ALIGN_WITH_INPUT {
+ .rtemsroset : ALIGN_WITH_INPUT {
/* Special FreeBSD linker set sections */
__start_set_sysctl_set = .;
*(set_sysctl_*);
__stop_set_sysctl_set = .;
*(set_domain_*);
*(set_pseudo_*);
- _bsd__start_set_modmetadata_set = .;
- *(_bsd_set_modmetadata_set);
- _bsd__stop_set_modmetadata_set = .;
- _bsd__start_set_sysctl_set = .;
- *(_bsd_set_sysctl_set);
- _bsd__stop_set_sysctl_set = .;
+ KEEP (*(SORT(.rtemsroset.*)))
bsp_section_rodata_end = .;
} > REGION_RODATA AT > REGION_RODATA_LOAD
bsp_section_rodata_size = bsp_section_rodata_end - bsp_section_rodata_begin;
@@ -268,11 +263,8 @@ SECTIONS {
.data1 : ALIGN_WITH_INPUT {
*(.data1)
} > REGION_DATA AT > REGION_DATA_LOAD
- .rwbsdsets : ALIGN_WITH_INPUT {
- /* Special FreeBSD linker set sections */
- _bsd__start_set_sysinit_set = .;
- *(_bsd_set_sysinit_set);
- _bsd__stop_set_sysinit_set = .;
+ .rtemsrwset : ALIGN_WITH_INPUT {
+ KEEP (*(SORT(.rtemsrwset.*)))
} > REGION_DATA AT > REGION_DATA_LOAD
.sdata : ALIGN_WITH_INPUT {
PROVIDE (_SDA_BASE_ = 32768);
diff --git a/c/src/lib/libbsp/sh/shsim/startup/linkcmds b/c/src/lib/libbsp/sh/shsim/startup/linkcmds
index d85a3d63a3..a12af48b9c 100644
--- a/c/src/lib/libbsp/sh/shsim/startup/linkcmds
+++ b/c/src/lib/libbsp/sh/shsim/startup/linkcmds
@@ -157,7 +157,7 @@ SECTIONS
*(.dtors)
___dtors_end = .;
}
- .robsdsets : {
+ .rtemsroset : {
/* for pre rtems-libbsd FreeBSD code */
__start_set_sysctl_set = .;
*(set_sysctl_*);
@@ -165,20 +165,10 @@ SECTIONS
*(set_domain_*);
*(set_pseudo_*);
- /* for rtems-libbsd FreeBSD code */
- __bsd__start_set_modmetadata_set = .;
- *(_bsd_set_modmetadata_set);
- __bsd__stop_set_modmetadata_set = .;
-
- __bsd__start_set_sysctl_set = .;
- *(_bsd_set_sysctl_set);
- __bsd__stop_set_sysctl_set = .;
-
- __bsd__start_set_sysinit_set = .;
- *(_bsd_set_sysinit_*);
- __bsd__stop_set_sysinit_set = .;
-
- _bsp_section_rodata_end = .;
+ KEEP (*(SORT(.rtemsroset.*)))
+ } >ram
+ .rtemsrwset : {
+ KEEP (*(SORT(.rtemsrwset.*)))
} >ram
.got . : { *(.got.plt) *(.got) }
diff --git a/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base b/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base
index fd910851f6..91663df1f3 100644
--- a/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base
+++ b/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base
@@ -108,7 +108,7 @@ SECTIONS
*(.shdata)
. = ALIGN (16);
} > ram
- .robsdsets : {
+ .rtemsroset : {
/* for pre rtems-libbsd FreeBSD code */
__start_set_sysctl_set = .;
KEEP(*(set_sysctl_*));
@@ -116,18 +116,7 @@ SECTIONS
KEEP(*(set_domain_*));
KEEP(*(set_pseudo_*));
- /* for rtems-libbsd FreeBSD code */
- _bsd__start_set_modmetadata_set = .;
- KEEP(*(_bsd_set_modmetadata_set));
- _bsd__stop_set_modmetadata_set = .;
-
- _bsd__start_set_sysctl_set = .;
- KEEP(*(_bsd_set_sysctl_set));
- _bsd__stop_set_sysctl_set = .;
-
- _bsd__start_set_sysinit_set = .;
- KEEP(*(_bsd_set_sysinit_*));
- _bsd__stop_set_sysinit_set = .;
+ KEEP (*(SORT(.rtemsroset.*)))
. = ALIGN (16);
_endtext = .;
@@ -158,6 +147,9 @@ SECTIONS
edata = .;
_edata = .;
} > ram
+ .rtemsrwset : {
+ KEEP (*(SORT(.rtemsrwset.*)))
+ } >ram
.dynamic : { *(.dynamic) } >ram
.jcr : { *(.jcr) } >ram
.got : { *(.got) } >ram