summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/gba
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/arm/gba
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/arm/gba')
-rw-r--r--c/src/lib/libbsp/arm/gba/startup/linkcmds33
1 files changed, 15 insertions, 18 deletions
diff --git a/c/src/lib/libbsp/arm/gba/startup/linkcmds b/c/src/lib/libbsp/arm/gba/startup/linkcmds
index 4765e04e96..6c97ed8fbe 100644
--- a/c/src/lib/libbsp/arm/gba/startup/linkcmds
+++ b/c/src/lib/libbsp/arm/gba/startup/linkcmds
@@ -139,6 +139,20 @@ SECTIONS
SORT(CONSTRUCTORS)
. = ALIGN(4);
} =0xFF
+ .tdata : {
+ _TLS_Data_begin = .;
+ *(.tdata .tdata.* .gnu.linkonce.td.*)
+ _TLS_Data_end = .;
+ } =0xFF
+ .tbss : {
+ _TLS_BSS_begin = .;
+ *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon)
+ _TLS_BSS_end = .;
+ }
+ _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);
__rodata_end = . ;
.eh_frame :
@@ -219,22 +233,7 @@ SECTIONS
/*************************************************************************
calculate __ro_end
*************************************************************************/
- __ro_end =
- ADDR(.text) +
- SIZEOF(.text) +
- SIZEOF(.init) +
- SIZEOF(.fini) +
- SIZEOF(.rodata) +
- SIZEOF(.eh_frame) +
- SIZEOF(.gcc_except_table) +
- SIZEOF(.ctors) +
- SIZEOF(.dtors) +
- SIZEOF(.jcr) +
- SIZEOF(.ARM.extab) +
- SIZEOF(.ARM.exidx) +
- SIZEOF(.preinit_array) +
- SIZEOF(.init_array) +
- SIZEOF(.fini_array);
+ __ro_end = .;
PROVIDE(__text_end__ = __ro_end );
/*** IWRAM ***/
@@ -301,7 +300,6 @@ SECTIONS
*(EXCLUDE_FILE(*.rodata.* *.ewram.o *.iwram.o) .data)
*(.data.* .gnu.linkonce.d.*)
*(.data1)
- *(.tdata .tdata.* .gnu.linkonce.td.*)
*(.sdata .sdata.* .gnu.linkonce.s.*)
. = ALIGN(4);
} =0xFF
@@ -322,7 +320,6 @@ SECTIONS
.bss :
{
*(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
- *(.tbss .tbss.* .gnu.linkonce.tb.*)
*(.tcommon)
*(.sbss .sbss.* .gnu.linkonce.sb.*)
*(.scommon)