summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sh/gensh4
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/sh/gensh4
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/sh/gensh4')
-rw-r--r--c/src/lib/libbsp/sh/gensh4/startup/linkcmds14
-rw-r--r--c/src/lib/libbsp/sh/gensh4/startup/linkcmds.rom14
-rw-r--r--c/src/lib/libbsp/sh/gensh4/startup/linkcmds.rom2ram14
3 files changed, 42 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/sh/gensh4/startup/linkcmds b/c/src/lib/libbsp/sh/gensh4/startup/linkcmds
index 2546bf290f..e38cb63593 100644
--- a/c/src/lib/libbsp/sh/gensh4/startup/linkcmds
+++ b/c/src/lib/libbsp/sh/gensh4/startup/linkcmds
@@ -93,6 +93,20 @@ SECTIONS
*(.rodata.*)
*(.gnu.linkonce.r*)
} > ram
+ .tdata : {
+ __TLS_Data_begin = .;
+ *(.tdata .tdata.* .gnu.linkonce.td.*)
+ __TLS_Data_end = .;
+ } > ram
+ .tbss : {
+ __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);
.ctors :
{
___ctors = .;
diff --git a/c/src/lib/libbsp/sh/gensh4/startup/linkcmds.rom b/c/src/lib/libbsp/sh/gensh4/startup/linkcmds.rom
index a5cd939181..89325c04da 100644
--- a/c/src/lib/libbsp/sh/gensh4/startup/linkcmds.rom
+++ b/c/src/lib/libbsp/sh/gensh4/startup/linkcmds.rom
@@ -105,6 +105,20 @@ SECTIONS
*(.gnu.linkonce.r*)
. = ALIGN(32);
} > rom
+ .tdata : {
+ __TLS_Data_begin = .;
+ *(.tdata .tdata.* .gnu.linkonce.td.*)
+ __TLS_Data_end = .;
+ } > rom
+ .tbss : {
+ __TLS_BSS_begin = .;
+ *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon)
+ __TLS_BSS_end = .;
+ } > rom
+ __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);
.ctors :
{
___ctors = .;
diff --git a/c/src/lib/libbsp/sh/gensh4/startup/linkcmds.rom2ram b/c/src/lib/libbsp/sh/gensh4/startup/linkcmds.rom2ram
index 68c3b1a3cc..0ce6effae6 100644
--- a/c/src/lib/libbsp/sh/gensh4/startup/linkcmds.rom2ram
+++ b/c/src/lib/libbsp/sh/gensh4/startup/linkcmds.rom2ram
@@ -92,6 +92,20 @@ SECTIONS
*(.gnu.linkonce.r*)
. = ALIGN(32);
} > ram
+ .tdata : {
+ __TLS_Data_begin = .;
+ *(.tdata .tdata.* .gnu.linkonce.td.*)
+ __TLS_Data_end = .;
+ } > ram
+ .tbss : {
+ __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);
.ctors : AT(LOADADDR(.rodata) + SIZEOF(.rodata))
{
___ctors = .;