diff options
Diffstat (limited to 'c/src/lib/libbsp/bfin')
-rw-r--r-- | c/src/lib/libbsp/bfin/TLL6527M/startup/linkcmds | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/bfin/bf537Stamp/startup/linkcmds | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/bfin/eZKit533/startup/linkcmds | 4 |
3 files changed, 9 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/bfin/TLL6527M/startup/linkcmds b/c/src/lib/libbsp/bfin/TLL6527M/startup/linkcmds index a8c5375f9a..7e37798d87 100644 --- a/c/src/lib/libbsp/bfin/TLL6527M/startup/linkcmds +++ b/c/src/lib/libbsp/bfin/TLL6527M/startup/linkcmds @@ -79,9 +79,11 @@ SECTIONS } > sdram __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)); .fini : { diff --git a/c/src/lib/libbsp/bfin/bf537Stamp/startup/linkcmds b/c/src/lib/libbsp/bfin/bf537Stamp/startup/linkcmds index 9d2366d81f..7c1e5e4d06 100644 --- a/c/src/lib/libbsp/bfin/bf537Stamp/startup/linkcmds +++ b/c/src/lib/libbsp/bfin/bf537Stamp/startup/linkcmds @@ -87,9 +87,11 @@ SECTIONS } > sdram __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)); .fini : { diff --git a/c/src/lib/libbsp/bfin/eZKit533/startup/linkcmds b/c/src/lib/libbsp/bfin/eZKit533/startup/linkcmds index 02fa04edd9..a8f39fb8d5 100644 --- a/c/src/lib/libbsp/bfin/eZKit533/startup/linkcmds +++ b/c/src/lib/libbsp/bfin/eZKit533/startup/linkcmds @@ -76,9 +76,11 @@ SECTIONS } > sdram __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)); .fini : { |