bsps: Simplify FreeBSD linker sets

This commit is contained in:
Sebastian Huber
2013-12-04 15:39:20 +01:00
parent 287bbb65af
commit e4927eceff
7 changed files with 34 additions and 94 deletions

View File

@@ -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;

View File

@@ -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 :

View File

@@ -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 : {

View File

@@ -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 : {

View File

@@ -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);

View File

@@ -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) }

View File

@@ -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