aboutsummaryrefslogtreecommitdiff
path: root/libtcc.c
diff options
context:
space:
mode:
authorThomas Preud'homme <robotux@celest.fr>2013-10-29 22:10:02 +0800
committerThomas Preud'homme <robotux@celest.fr>2013-10-29 22:10:02 +0800
commit1c4afd13501f07a673aed5f130166f2ee0f30927 (patch)
tree01d8f2a1455cd0b0cf8036a129418361207a6e6c /libtcc.c
parent3b07a15fd12d5452bf539cd855edde8139db1686 (diff)
downloadtinycc-1c4afd13501f07a673aed5f130166f2ee0f30927.tar.gz
tinycc-1c4afd13501f07a673aed5f130166f2ee0f30927.tar.bz2
Add support for thread-local storage variables
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)