From 3224ce8584eb49203d4e58dcc5ebc73d63efee25 Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Thu, 22 Oct 2015 02:01:33 +0300 Subject: [PATCH] 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. --- include/private/thread_local_alloc.h | 12 ++---------- 1 file 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) \ -- 2.40.0