From d60e760e8096feac0fff494f9bb1a0538115a905 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 22 Apr 2014 09:45:39 +0200 Subject: 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. --- c/src/lib/libbsp/v850/gdbv850sim/startup/linkcmds | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'c/src/lib/libbsp/v850') diff --git a/c/src/lib/libbsp/v850/gdbv850sim/startup/linkcmds b/c/src/lib/libbsp/v850/gdbv850sim/startup/linkcmds index 331ffca90b..fe0f22b942 100644 --- a/c/src/lib/libbsp/v850/gdbv850sim/startup/linkcmds +++ b/c/src/lib/libbsp/v850/gdbv850sim/startup/linkcmds @@ -102,9 +102,11 @@ SECTIONS __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)); .data : { *(.data) -- cgit v1.2.3