diff options
Diffstat (limited to 'c/src/lib/libbsp/powerpc/virtex5/startup/linkcmds')
-rw-r--r-- | c/src/lib/libbsp/powerpc/virtex5/startup/linkcmds | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/powerpc/virtex5/startup/linkcmds b/c/src/lib/libbsp/powerpc/virtex5/startup/linkcmds index 247bee25c0..63d187cacb 100644 --- a/c/src/lib/libbsp/powerpc/virtex5/startup/linkcmds +++ b/c/src/lib/libbsp/powerpc/virtex5/startup/linkcmds @@ -107,9 +107,11 @@ SECTIONS } >RAM _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)); /* Initialised small data addressed as offsets from r2 */ .sdata2 : { PROVIDE (_SDA2_BASE_ = 32768); *(.sdata2 .sdata2.* .gnu.linkonce.s2.*) } > RAM |