diff options
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/powerpc/shared/startup/linkcmds | 17 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/shared/startup/linkcmds.base | 8 |
2 files changed, 25 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/powerpc/shared/startup/linkcmds b/c/src/lib/libbsp/powerpc/shared/startup/linkcmds index f2860d52ad..df5affb54d 100644 --- a/c/src/lib/libbsp/powerpc/shared/startup/linkcmds +++ b/c/src/lib/libbsp/powerpc/shared/startup/linkcmds @@ -80,6 +80,23 @@ SECTIONS .rodata : { *(.rodata*) *(.gnu.linkonce.r*) } > CODE .rodata1 : { *(.rodata1) } > CODE + .tdata : { + _TLS_Data_begin = .; + *(.tdata .tdata.* .gnu.linkonce.td.*) + _TLS_Data_end = .; + } >CODE + + .tbss : { + _TLS_BSS_begin = .; + *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) + _TLS_BSS_end = .; + } >CODE + + _TLS_Data_size = _TLS_Data_end - _TLS_Data_begin; + _TLS_BSS_size = _TLS_BSS_end - _TLS_BSS_begin; + _TLS_Size = _TLS_BSS_end - _TLS_Data_begin; + _TLS_Alignment = ALIGNOF (.tdata); + /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = ALIGN(0x10000) + (. & (0x10000 - 1)); diff --git a/c/src/lib/libbsp/powerpc/shared/startup/linkcmds.base b/c/src/lib/libbsp/powerpc/shared/startup/linkcmds.base index cfdc02542a..ae29cb7b7c 100644 --- a/c/src/lib/libbsp/powerpc/shared/startup/linkcmds.base +++ b/c/src/lib/libbsp/powerpc/shared/startup/linkcmds.base @@ -109,11 +109,19 @@ SECTIONS { *(.gcc_except_table .gcc_except_table.*) } > REGION_RODATA AT > REGION_RODATA_LOAD .tdata : ALIGN_WITH_INPUT { + _TLS_Data_begin = .; *(.tdata .tdata.* .gnu.linkonce.td.*) + _TLS_Data_end = .; } > REGION_RODATA AT > REGION_RODATA_LOAD .tbss : ALIGN_WITH_INPUT { + _TLS_BSS_begin = .; *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) + _TLS_BSS_end = .; } > REGION_RODATA AT > REGION_RODATA_LOAD + _TLS_Data_size = _TLS_Data_end - _TLS_Data_begin; + _TLS_BSS_size = _TLS_BSS_end - _TLS_BSS_begin; + _TLS_Size = _TLS_BSS_end - _TLS_Data_begin; + _TLS_Alignment = ALIGNOF (.tdata); .preinit_array : ALIGN_WITH_INPUT { PROVIDE_HIDDEN (__preinit_array_start = .); KEEP (*(.preinit_array)) |