summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc64
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-01-28 11:52:17 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-02-04 10:06:34 +0100
commit960fd8546fb0130058e6a588fbc62d696d01df0e (patch)
treede9bc7a1e9f1e2369e941d888ff476917c02b044 /c/src/lib/libbsp/sparc64
parentscore: Add _Thread_Get_maximum_internal_threads() (diff)
downloadrtems-960fd8546fb0130058e6a588fbc62d696d01df0e.tar.bz2
bsps: Thread-local storage (TLS) for linkcmds
Diffstat (limited to 'c/src/lib/libbsp/sparc64')
-rw-r--r--c/src/lib/libbsp/sparc64/shared/startup/linkcmds17
1 files changed, 16 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/sparc64/shared/startup/linkcmds b/c/src/lib/libbsp/sparc64/shared/startup/linkcmds
index ae9688d36d..661ad2e8cb 100644
--- a/c/src/lib/libbsp/sparc64/shared/startup/linkcmds
+++ b/c/src/lib/libbsp/sparc64/shared/startup/linkcmds
@@ -148,8 +148,23 @@ SECTIONS
_endtext = . ;
_etext = . ;
} > ram
+
+ .tdata : AT (ADDR (.text) + SIZEOF (.text)) {
+ _TLS_Data_begin = .;
+ *(.tdata .tdata.* .gnu.linkonce.td.*)
+ _TLS_Data_end = .;
+ } > ram
+ .tbss : AT (ADDR (.tdata) + SIZEOF (.tdata)) {
+ _TLS_BSS_begin = .;
+ *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon)
+ _TLS_BSS_end = .;
+ } > ram
+ _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);
- .data : AT (ADDR (.text) + SIZEOF (.text))
+ .data : AT (ADDR (.tbss) + SIZEOF (.tbss))
{
PROVIDE (__data_start = .) ;
data_start = . ;