Bug #1010
closed[clang] Thread-local variables are not supported
100%
Description
clang require @__tls_get_addr@ to be implemented on low level (libc) to support @__thread@ variables. Bionic doesn't provide it. GCC workaround it by using emulated TLS feature in libgcc. Clang don't support it yet, but "here":https://llvm.org/bugs/show_bug.cgi?id=23566 is corresponding ticket, with patches suggested.
Updated by Dmitry M. about 9 years ago
- Target version changed from 10.3.0 to 11.0.0
Updated by Dmitry M. almost 9 years ago
- Status changed from Open to In Progress
- CrystaX NDK Version set to 10.3.1
Updated by Dmitry M. almost 9 years ago
- Category set to toolchain
- Status changed from In Progress to Completed
- % Done changed from 0 to 100
Fixed by backporting support of emulated TLS from clang-3.8 (not yet released) to clang-3.7. It's much more difficult to backport it to clang-3.6 due to significant difference in code base between versions, so clang-3.6 will not receive this fix.
"llvm":https://github.com/crystax/android-toolchain-llvm-3-7/commit/97c48680b2dca8685294d64a71aa72a3077bc1bd
"clang":https://github.com/crystax/android-toolchain-clang-3-7/commit/7837d53d7f13aefd3d384bde9d2fe5aa616222dd