diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-01-28 11:52:17 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-02-04 10:06:34 +0100 |
commit | 960fd8546fb0130058e6a588fbc62d696d01df0e (patch) | |
tree | de9bc7a1e9f1e2369e941d888ff476917c02b044 /c/src/lib/libbsp/sparc64/shared/startup/linkcmds | |
parent | score: Add _Thread_Get_maximum_internal_threads() (diff) | |
download | rtems-960fd8546fb0130058e6a588fbc62d696d01df0e.tar.bz2 |
bsps: Thread-local storage (TLS) for linkcmds
Diffstat (limited to 'c/src/lib/libbsp/sparc64/shared/startup/linkcmds')
-rw-r--r-- | c/src/lib/libbsp/sparc64/shared/startup/linkcmds | 17 |
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 = . ; |