]> granicus.if.org Git - gc/commitdiff
Workaround 'unresolved __tls_get_addr' error for Android NDK clang/mips
authorIvan Maidanski <ivmai@mail.ru>
Sun, 9 Jun 2013 15:34:43 +0000 (19:34 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Sun, 9 Jun 2013 15:34:43 +0000 (19:34 +0400)
* include/private/thread_local_alloc.h (USE_COMPILER_TLS): Do not use
for Android NDK Clang/mips (to workaround "unresolved __tls_get_addr"
linker error).

include/private/thread_local_alloc.h

index b454c8ebb9e0ea88461264cc349da027ea9c0030..98a9b97a4db96f62e57d7efea7562547a5f57a9b 100644 (file)
@@ -44,7 +44,9 @@
 #     define USE_WIN32_COMPILER_TLS
 #   endif /* !GNU */
 # elif defined(LINUX) && !defined(ARM32) && !defined(AVR32) \
-       && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >=3))
+       && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) \
+       && !(defined(__clang__) && defined(MIPS) && defined(PLATFORM_ANDROID))
+          /* As of Android NDK r8e, Clang/mips 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) \