summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2015-10-22 02:01:33 +0300
committerIvan Maidanski <ivmai@mail.ru>2015-10-22 02:01:33 +0300
commit3224ce8584eb49203d4e58dcc5ebc73d63efee25 (patch)
tree8fb20b2fa2db83084dd4b69c33a22cde6a7ca6d6
parentb7b1004a2aedaee00bc7baefd191268dbe9574a8 (diff)
downloadbdwgc-3224ce8584eb49203d4e58dcc5ebc73d63efee25.tar.gz
Workaround 'unresolved __tls_get_addr' error for Android NDK Clang
* include/private/thread_local_alloc.h (USE_COMPILER_TLS): Do not define for Android Clang (any CPU arch); update comment.
-rw-r--r--include/private/thread_local_alloc.h12
1 files changed, 2 insertions, 10 deletions
diff --git a/include/private/thread_local_alloc.h b/include/private/thread_local_alloc.h
index 2b445bac..d5c5d580 100644
--- a/include/private/thread_local_alloc.h
+++ b/include/private/thread_local_alloc.h
@@ -53,16 +53,8 @@
&& !(defined(__clang__) && defined(PLATFORM_ANDROID))) \
|| (defined(PLATFORM_ANDROID) && !defined(__clang__) \
&& defined(ARM32) \
- && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))) \
- || (defined(PLATFORM_ANDROID) && !defined(ARM32) && !defined(MIPS) \
- && (__clang_major__ > 3 \
- || (__clang_major__ == 3 && __clang_minor__ >= 6)))
- /* As of Android NDK r10e, Clang/arm with bfd linker and */
- /* Clang/mips cannot find __tls_get_addr. Older NDK releases */
- /* have same issue for arm (regardless of linker) and x86 if */
- /* gcc 4.6 toolchain is used for linking (checked condition */
- /* is based on the fact that Android NDK r10e added clang 3.6 */
- /* dropping gcc 4.6). */
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)))
+ /* As of Android NDK r10e, Clang cannot find __tls_get_addr. */
# define USE_COMPILER_TLS
# elif defined(GC_DGUX386_THREADS) || defined(GC_OSF1_THREADS) \
|| defined(GC_AIX_THREADS) || defined(GC_DARWIN_THREADS) \