[PATCH] sparc64: update linkcmds with missing sections for TLS
Gedare Bloom
gedare at rtems.org
Mon Apr 6 17:16:43 UTC 2020
Closes #3936.
---
bsps/sparc64/shared/start/linkcmds | 74 +++++++++---------------------
1 file changed, 22 insertions(+), 52 deletions(-)
diff --git a/bsps/sparc64/shared/start/linkcmds b/bsps/sparc64/shared/start/linkcmds
index 86a3bdcde1..aaf48b5d83 100644
--- a/bsps/sparc64/shared/start/linkcmds
+++ b/bsps/sparc64/shared/start/linkcmds
@@ -36,56 +36,6 @@ SECTIONS
.gnu.version : { *(.gnu.version) }
.gnu.version_d : { *(.gnu.version_d) }
.gnu.version_r : { *(.gnu.version_r) }
- .rel.init : { *(.rel.init) }
- .rela.init : { *(.rela.init) }
- .rel.text :
- {
- *(.rel.text)
- *(.rel.text.*)
- *(.rel.gnu.linkonce.t*)
- }
- .rela.text :
- {
- *(.rela.text)
- *(.rela.text.*)
- *(.rela.gnu.linkonce.t*)
- }
- .rel.fini : { *(.rel.fini) }
- .rela.fini : { *(.rela.fini) }
- .rel.rodata :
- {
- *(.rel.rodata)
- *(.rel.rodata.*)
- *(.rel.gnu.linkonce.r*)
- }
- .rela.rodata :
- {
- *(.rela.rodata)
- *(.rela.rodata.*)
- *(.rela.gnu.linkonce.r*)
- }
- .rel.data :
- {
- *(.rel.data)
- *(.rel.data.*)
- *(.rel.gnu.linkonce.d*)
- }
- .rela.data :
- {
- *(.rela.data)
- *(.rela.data.*)
- *(.rela.gnu.linkonce.d*)
- }
- .rel.ctors : { *(.rel.ctors) }
- .rela.ctors : { *(.rela.ctors) }
- .rel.dtors : { *(.rel.dtors) }
- .rela.dtors : { *(.rela.dtors) }
- .rel.got : { *(.rel.got) }
- .rela.got : { *(.rela.got) }
- .rel.bss : { *(.rel.bss) }
- .rela.bss : { *(.rela.bss) }
- .rel.plt : { *(.rel.plt) }
- .rela.plt : { *(.rela.plt) }
/* Internal text space or external memory */
.text 0x4000 : AT (0x4000)
{
@@ -168,8 +118,25 @@ SECTIONS
_TLS_BSS_size = _TLS_BSS_end - _TLS_BSS_begin;
_TLS_Size = _TLS_BSS_end - _TLS_Data_begin;
_TLS_Alignment = MAX (ALIGNOF (.tdata), ALIGNOF (.tbss));
-
- .data : AT (ADDR (.tbss) + SIZEOF (.tbss))
+
+ .rela.dyn : AT (ADDR (.tbss) + SIZEOF (.tbss))
+ {
+ *(.rela.init)
+ *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
+ *(.rela.fini)
+ *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
+ *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
+ *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
+ *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
+ *(.rela.ctors)
+ *(.rela.dtors)
+ *(.rela.got)
+ *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
+ *(.rela.rtemsroset*)
+ *(.rela.rtemsrwset*)
+ } > ram
+
+ .data : AT (ADDR (.rela.dyn) + SIZEOF (.rela.dyn))
{
PROVIDE (__data_start = .) ;
data_start = . ;
@@ -193,6 +160,9 @@ SECTIONS
. = ALIGN (16);
.dynamic : { *(.dynamic) } >ram
.jcr : { *(.jcr) } > ram
+ .got : { *(.got) } >ram
+ .plt : { *(.plt) } >ram
+ .dynrel : { *(.dynrel) } >ram
.shbss : { *(.shbss) } > ram
.bss :
{
--
2.17.1
More information about the devel
mailing list