diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-12-04 15:39:20 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-12-16 15:15:39 +0100 |
commit | e4927eceff2cd82ad24600a1e53a99d8996d843e (patch) | |
tree | 43a2a7b8314f2d704d5b4be24eff44f95683f9f0 /c/src/lib | |
parent | bsps/arm: Use ALIGN_WITH_INPUT (diff) | |
download | rtems-e4927eceff2cd82ad24600a1e53a99d8996d843e.tar.bz2 |
bsps: Simplify FreeBSD linker sets
Diffstat (limited to 'c/src/lib')
-rw-r--r-- | c/src/lib/libbsp/arm/shared/startup/linkcmds.base | 17 | ||||
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/startup/linkcmds | 18 | ||||
-rw-r--r-- | c/src/lib/libbsp/mips/jmr3904/startup/linkcmds | 19 | ||||
-rw-r--r-- | c/src/lib/libbsp/mips/malta/startup/linkcmds | 20 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/shared/startup/linkcmds.base | 16 | ||||
-rw-r--r-- | c/src/lib/libbsp/sh/shsim/startup/linkcmds | 20 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/shared/startup/linkcmds.base | 18 |
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 |