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/arm/gba | |
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/arm/gba')
-rw-r--r-- | c/src/lib/libbsp/arm/gba/startup/linkcmds | 33 |
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) |