aboutsummaryrefslogtreecommitdiff
path: root/libtcc.c
diff options
context:
space:
mode:
Diffstat (limited to 'libtcc.c')
-rw-r--r--libtcc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libtcc.c b/libtcc.c
index f841eb0..fbea50b 100644
--- a/libtcc.c
+++ b/libtcc.c
@@ -444,7 +444,10 @@ ST_FUNC void put_extern_sym2(Sym *sym, Section *section,
} else if ((sym->type.t & VT_BTYPE) == VT_VOID) {
sym_type = STT_NOTYPE;
} else {
- sym_type = STT_OBJECT;
+ if (section && section->sh_flags & SHF_TLS)
+ sym_type = STT_TLS;
+ else
+ sym_type = STT_OBJECT;
}
if (sym->type.t & VT_STATIC)