]> granicus.if.org Git - gc/commitdiff
Fix gcconfig.h to define USE_GET_STACKBASE_FOR_MAIN for Android
authorIvan Maidanski <ivmai@mail.ru>
Thu, 26 Jan 2012 05:16:10 +0000 (09:16 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Thu, 26 Jan 2012 14:16:32 +0000 (18:16 +0400)
(causing pthread_attr_getstack to be used to get main stack base
even in single-threaded mode instead of GC_linux_main_stack_base)

* include/private/gcconfig.h (USE_GET_STACKBASE_FOR_MAIN): Define if
PLATFORM_ANDROID.

include/private/gcconfig.h

index b57dcc93f2e7cd3d777f480315b09325f9675fd4..5f03435d52c8f1c1a844e7cf629ac5f7029e5bab 100644 (file)
 # define DATAEND (ptr_t)(end)
 #endif
 
+#if defined(PLATFORM_ANDROID) && !defined(THREADS) \
+    && !defined(USE_GET_STACKBASE_FOR_MAIN)
+  /* Always use pthread_attr_getstack on Android ("-lpthread" option is  */
+  /* not needed to be specified manually) since GC_linux_main_stack_base */
+  /* causes app crash if invoked inside Dalvik VM.                       */
+# define USE_GET_STACKBASE_FOR_MAIN
+#endif
+
 #if (defined(SVR4) || defined(PLATFORM_ANDROID)) && !defined(GETPAGESIZE)
 # include <unistd.h>
 # define GETPAGESIZE()  sysconf(_SC_PAGESIZE)