summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-04-22 09:45:39 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-04-22 09:51:17 +0200
commitd60e760e8096feac0fff494f9bb1a0538115a905 (patch)
treeb8cba4a1a5e2ad9f5004eb5779c9d512884420f2 /doc
parentbsp/mbx8xx: Fix Makefile.am and bsp_specs (diff)
downloadrtems-d60e760e8096feac0fff494f9bb1a0538115a905.tar.bz2
bsps: Fix TLS support in linker command files
The TLS section symbols had wrong values in case of an empty TLS data section and a nonempty TLS BSS section.
Diffstat (limited to 'doc')
-rw-r--r--doc/cpu_supplement/general.t4
1 files changed, 3 insertions, 1 deletions
diff --git a/doc/cpu_supplement/general.t b/doc/cpu_supplement/general.t
index 173f84fcc9..3d84c2a901 100644
--- a/doc/cpu_supplement/general.t
+++ b/doc/cpu_supplement/general.t
@@ -355,9 +355,11 @@ in its linker command file:
_TLS_BSS_end = .;
@}
_TLS_Data_size = _TLS_Data_end - _TLS_Data_begin;
+_TLS_Data_begin = _TLS_Data_size != 0 ? _TLS_Data_begin : _TLS_BSS_begin;
+_TLS_Data_end = _TLS_Data_size != 0 ? _TLS_Data_end : _TLS_BSS_begin;
_TLS_BSS_size = _TLS_BSS_end - _TLS_BSS_begin;
_TLS_Size = _TLS_BSS_end - _TLS_Data_begin;
-_TLS_Alignment = ALIGNOF (.tdata);
+_TLS_Alignment = MAX (ALIGNOF (.tdata), ALIGNOF (.tbss));
@end example
@section CPU counter