diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-09-16 07:13:58 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-12-08 09:25:22 +0100 |
commit | b618d8cfc54f84d4ed03dc7b7fa510c872e6128a (patch) | |
tree | 324b769a7866c0ac2ce8f5208861e5207834d9a4 /c/src/lib/libbsp/powerpc | |
parent | score: Statically initialize system state (diff) | |
download | rtems-b618d8cfc54f84d4ed03dc7b7fa510c872e6128a.tar.bz2 |
Add RTEMS linker sets
Update #2408.
Diffstat (limited to '')
13 files changed, 26 insertions, 8 deletions
diff --git a/c/src/lib/libbsp/powerpc/beatnik/startup/linkcmds b/c/src/lib/libbsp/powerpc/beatnik/startup/linkcmds index ae3fe06700..84cbc97fdf 100644 --- a/c/src/lib/libbsp/powerpc/beatnik/startup/linkcmds +++ b/c/src/lib/libbsp/powerpc/beatnik/startup/linkcmds @@ -93,7 +93,7 @@ SECTIONS } > CODE .fini : { _fini = .; *(.fini) } >CODE - .rodata : { *(.rodata*) *(.gnu.linkonce.r*) } > CODE + .rodata : { *(.rodata*) KEEP (*(SORT(.rtemsroset.*))) *(.gnu.linkonce.r*) } > CODE .rodata1 : { *(.rodata1) } > CODE .tdata : { _TLS_Data_begin = .; @@ -142,6 +142,7 @@ SECTIONS { PROVIDE(__DATA_START__ = ABSOLUTE(.) ); *(.data) + KEEP (*(SORT(.rtemsrwset.*))) *(.gnu.linkonce.d*) CONSTRUCTORS } > CODE diff --git a/c/src/lib/libbsp/powerpc/ep1a/startup/linkcmds b/c/src/lib/libbsp/powerpc/ep1a/startup/linkcmds index 775374cf72..69644e37d8 100644 --- a/c/src/lib/libbsp/powerpc/ep1a/startup/linkcmds +++ b/c/src/lib/libbsp/powerpc/ep1a/startup/linkcmds @@ -62,7 +62,7 @@ SECTIONS } =0 .init : { _init = .; *(.init) } .fini : { _fini = .; *(.fini) } - .rodata : { *(.rodata*) *(.gnu.linkonce.r*) } + .rodata : { *(.rodata*) KEEP (*(SORT(.rtemsroset.*))) *(.gnu.linkonce.r*) } .rodata1 : { *(.rodata1) } .tdata : { _TLS_Data_begin = .; @@ -109,6 +109,7 @@ SECTIONS { PROVIDE(__DATA_START__ = ABSOLUTE(.) ); *(.data) + KEEP (*(SORT(.rtemsrwset.*))) *(.gnu.linkonce.d.*) CONSTRUCTORS } diff --git a/c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds.base b/c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds.base index 4c186efae6..4ded9082d4 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds.base +++ b/c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds.base @@ -87,6 +87,7 @@ SECTIONS { * BSP: Moved into .text from .* */ *(.rodata .rodata.* .gnu.linkonce.r.*) + KEEP (*(SORT(.rtemsroset.*))) *(.rodata1) *(.interp) *(.note.gnu.build-id) @@ -223,6 +224,7 @@ SECTIONS { PROVIDE_HIDDEN (__fini_array_end = .); *(.data .data.* .gnu.linkonce.d.*) + KEEP (*(SORT(.rtemsrwset.*))) KEEP (*(.gnu.linkonce.d.*personality*)) SORT(CONSTRUCTORS) diff --git a/c/src/lib/libbsp/powerpc/haleakala/startup/linkcmds b/c/src/lib/libbsp/powerpc/haleakala/startup/linkcmds index fc8f68e8ed..bed8580827 100644 --- a/c/src/lib/libbsp/powerpc/haleakala/startup/linkcmds +++ b/c/src/lib/libbsp/powerpc/haleakala/startup/linkcmds @@ -37,6 +37,7 @@ SECTIONS *(.text*) *(.rodata*) *(.rodata1) + KEEP (*(SORT(.rtemsroset.*))) /* * Special FreeBSD sysctl sections. @@ -208,6 +209,7 @@ SECTIONS data.start = .; *(.data) *(.data1) + KEEP (*(SORT(.rtemsrwset.*))) *(.data.* .gnu.linkonce.d.*) data.end = .; } > RAM diff --git a/c/src/lib/libbsp/powerpc/mbx8xx/startup/linkcmds b/c/src/lib/libbsp/powerpc/mbx8xx/startup/linkcmds index 45332bceaa..537e4db664 100644 --- a/c/src/lib/libbsp/powerpc/mbx8xx/startup/linkcmds +++ b/c/src/lib/libbsp/powerpc/mbx8xx/startup/linkcmds @@ -125,6 +125,7 @@ SECTIONS *(.shdata) *(.rodata*) *(.rodata1) + KEEP (*(SORT(.rtemsroset.*))) *(.descriptors) *(rom_ver) _erodata = .; @@ -207,6 +208,7 @@ SECTIONS *(.data) *(.data.*) + KEEP (*(SORT(.rtemsrwset.*))) *(.data1) PROVIDE (__EXCEPT_START__ = .); diff --git a/c/src/lib/libbsp/powerpc/mpc8260ads/startup/linkcmds b/c/src/lib/libbsp/powerpc/mpc8260ads/startup/linkcmds index fc14155805..de52e4664a 100644 --- a/c/src/lib/libbsp/powerpc/mpc8260ads/startup/linkcmds +++ b/c/src/lib/libbsp/powerpc/mpc8260ads/startup/linkcmds @@ -125,6 +125,7 @@ SECTIONS *(.shdata) *(.rodata) *(.rodata1) + KEEP (*(SORT(.rtemsroset.*))) *(.descriptors) *(rom_ver) _erodata = .; @@ -269,6 +270,7 @@ SECTIONS *(.data) *(.data1) *(.data.* .gnu.linkonce.d.*) + KEEP (*(SORT(.rtemsrwset.*))) PROVIDE (__SDATA_START__ = .); *(.sdata .sdata.* .gnu.linkonce.s.*) data.end = .; diff --git a/c/src/lib/libbsp/powerpc/qemuppc/startup/linkcmds b/c/src/lib/libbsp/powerpc/qemuppc/startup/linkcmds index 4af6976cb1..6e1e877f09 100644 --- a/c/src/lib/libbsp/powerpc/qemuppc/startup/linkcmds +++ b/c/src/lib/libbsp/powerpc/qemuppc/startup/linkcmds @@ -95,7 +95,7 @@ SECTIONS .rodata : { - *(.rodata .rodata.* .gnu.linkonce.r.*) + *(.rodata .rodata.* KEEP (*(SORT(.rtemsroset.*))) .gnu.linkonce.r.*) *(.rodata1) . = ALIGN (bsp_section_align); __rodata_end = .; @@ -127,6 +127,7 @@ SECTIONS { __data_start = .; *(.data .data.* .gnu.linkonce.d.*) + KEEP (*(SORT(.rtemsrwset.*))) KEEP (*(.gnu.linkonce.d.*personality*)) SORT(CONSTRUCTORS) *(.data1) diff --git a/c/src/lib/libbsp/powerpc/score603e/startup/linkcmds b/c/src/lib/libbsp/powerpc/score603e/startup/linkcmds index 46b5e381de..70065572fc 100644 --- a/c/src/lib/libbsp/powerpc/score603e/startup/linkcmds +++ b/c/src/lib/libbsp/powerpc/score603e/startup/linkcmds @@ -101,7 +101,7 @@ SECTIONS } >RAM .init : { _init = .; __init = .; *(.init) } >RAM .fini : { _fini = .; __fini = .; *(.fini) } >RAM - .rodata : { *(.rodata*) *(.gnu.linkonce.r*) } >RAM + .rodata : { *(.rodata*) KEEP (*(SORT(.rtemsroset.*))) *(.gnu.linkonce.r*) } >RAM .rodata1 : { *(.rodata1) } >RAM .tdata : { _TLS_Data_begin = .; @@ -146,6 +146,7 @@ SECTIONS { *(.data) *(.data.*) + KEEP (*(SORT(.rtemsrwset.*))) *(.gnu.linkonce.d.*) CONSTRUCTORS } >RAM diff --git a/c/src/lib/libbsp/powerpc/shared/startup/linkcmds b/c/src/lib/libbsp/powerpc/shared/startup/linkcmds index 34969e1cf6..d0d22a774e 100644 --- a/c/src/lib/libbsp/powerpc/shared/startup/linkcmds +++ b/c/src/lib/libbsp/powerpc/shared/startup/linkcmds @@ -77,7 +77,7 @@ SECTIONS .fini : { _fini = .; KEEP(*(.fini)) } > CODE - .rodata : { *(.rodata*) *(.gnu.linkonce.r*) } > CODE + .rodata : { *(.rodata*) KEEP (*(SORT(.rtemsroset.*))) *(.gnu.linkonce.r*) } > CODE .rodata1 : { *(.rodata1) } > CODE .tdata : { @@ -157,6 +157,7 @@ SECTIONS */ PROVIDE(__DATA_START__ = ABSOLUTE(.) ); *(.data .data.* .gnu.linkonce.d*) + KEEP (*(SORT(.rtemsrwset.*))) SORT(CONSTRUCTORS) } > CODE .data1 : { *(.data1) } > CODE diff --git a/c/src/lib/libbsp/powerpc/ss555/startup/linkcmds b/c/src/lib/libbsp/powerpc/ss555/startup/linkcmds index 809b9a33bb..ebc9e816a4 100644 --- a/c/src/lib/libbsp/powerpc/ss555/startup/linkcmds +++ b/c/src/lib/libbsp/powerpc/ss555/startup/linkcmds @@ -121,6 +121,7 @@ SECTIONS *(.shdata) *(.rodata*) *(.rodata1) + KEEP (*(SORT(.rtemsroset.*))) *(.descriptors) *(rom_ver) _erodata = .; @@ -171,6 +172,7 @@ SECTIONS *(.data) *(.data.*) + KEEP (*(SORT(.rtemsrwset.*))) *(.data1) PROVIDE (__SDATA_START__ = .); diff --git a/c/src/lib/libbsp/powerpc/tqm8xx/startup/linkcmds.base b/c/src/lib/libbsp/powerpc/tqm8xx/startup/linkcmds.base index 979989fe07..fd1ba71d52 100644 --- a/c/src/lib/libbsp/powerpc/tqm8xx/startup/linkcmds.base +++ b/c/src/lib/libbsp/powerpc/tqm8xx/startup/linkcmds.base @@ -78,7 +78,7 @@ SECTIONS { /* * BSP: Moved into .text from .* */ - *(.rodata .rodata.* .gnu.linkonce.r.*) + *(.rodata .rodata.* KEEP (*(SORT(.rtemsroset.*))) .gnu.linkonce.r.*) *(.rodata1) *(.interp) *(.note.gnu.build-id) @@ -218,6 +218,7 @@ SECTIONS { PROVIDE_HIDDEN (__fini_array_end = .); *(.data .data.* .gnu.linkonce.d.*) + KEEP (*(SORT(.rtemsrwset.*))) KEEP (*(.gnu.linkonce.d.*personality*)) SORT(CONSTRUCTORS) diff --git a/c/src/lib/libbsp/powerpc/virtex4/startup/linkcmds b/c/src/lib/libbsp/powerpc/virtex4/startup/linkcmds index 55b8f887cd..a22ee3f7c9 100644 --- a/c/src/lib/libbsp/powerpc/virtex4/startup/linkcmds +++ b/c/src/lib/libbsp/powerpc/virtex4/startup/linkcmds @@ -91,7 +91,7 @@ SECTIONS } > RAM /* Miscellaneous read-only data */ - .rodata : { *(.rodata.* .gnu.linkonce.r*) } > RAM + .rodata : { *(.rodata.* KEEP (*(SORT(.rtemsroset.*))) .gnu.linkonce.r*) } > RAM .rodata1 : { *(.rodata1) } > RAM .tdata : { @@ -139,6 +139,7 @@ SECTIONS .data : { PROVIDE(__DATA_START__ = ABSOLUTE(.) ); *(.data) *(.data.*) + KEEP (*(SORT(.rtemsrwset.*))) *(.gnu.linkonce.d*) } > RAM diff --git a/c/src/lib/libbsp/powerpc/virtex5/startup/linkcmds b/c/src/lib/libbsp/powerpc/virtex5/startup/linkcmds index 63d187cacb..ce88a43035 100644 --- a/c/src/lib/libbsp/powerpc/virtex5/startup/linkcmds +++ b/c/src/lib/libbsp/powerpc/virtex5/startup/linkcmds @@ -91,7 +91,7 @@ SECTIONS } > RAM /* Miscellaneous read-only data */ - .rodata : { *(.rodata.* .gnu.linkonce.r*) } > RAM + .rodata : { *(.rodata.* KEEP (*(SORT(.rtemsroset.*))) .gnu.linkonce.r*) } > RAM .rodata1 : { *(.rodata1) } > RAM .tdata : { @@ -139,6 +139,7 @@ SECTIONS .data : { PROVIDE(__DATA_START__ = ABSOLUTE(.) ); *(.data) *(.data.*) + KEEP (*(SORT(.rtemsrwset.*))) *(.gnu.linkonce.d*) } > RAM |