Use compiler TLS for Android NDK gcc/arm
authorIvan Maidanski <ivmai@mail.ru>
Mon, 10 Jun 2013 20:02:34 +0000 (00:02 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Mon, 10 Jun 2013 20:02:34 +0000 (00:02 +0400)
* include/private/thread_local_alloc.h (USE_COMPILER_TLS): Define for
Android NDK gcc/arm v4.6 or higher.

include/private/thread_local_alloc.h

index 686b638..0798863 100644 (file)
 #   else
 #     define USE_WIN32_COMPILER_TLS
 #   endif /* !GNU */
-# elif defined(LINUX) && !defined(ARM32) && !defined(AVR32) \
-       && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) \
-       && !(defined(__clang__) && defined(PLATFORM_ANDROID))
+# elif (defined(LINUX) && !defined(ARM32) && !defined(AVR32) \
+         && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) \
+         && !(defined(__clang__) && defined(PLATFORM_ANDROID))) \
+       || (defined(PLATFORM_ANDROID) && defined(ARM32) \
+            && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)))
           /* As of Android NDK r8e, Clang cannot find __tls_get_addr.   */
 #   define USE_COMPILER_TLS
 # elif defined(GC_DGUX386_THREADS) || defined(GC_OSF1_THREADS) \