]> granicus.if.org Git - gc/commitdiff
Fix GC_INIT_CONF_ROOTS in gc.h for Android/x86 and Android/mips
authorIvan Maidanski <ivmai@mail.ru>
Thu, 14 Mar 2013 17:31:05 +0000 (21:31 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Thu, 14 Mar 2013 17:31:05 +0000 (21:31 +0400)
* include/gc.h (GC_INIT_CONF_ROOTS): Do not define to register static
data root in range from __data_start to _end on non-ARM Android
(because __data_start symbol does not exist for x86 and mips); refine
the comment.

include/gc.h

index 2546ee53b7836d247e73a64b8d6a299386c2f4eb..fe04fbc26428090bba699f5fc2388d20e5d78bbe 100644 (file)
@@ -1606,8 +1606,8 @@ GC_API int GC_CALL GC_get_force_unmap_on_gcollect(void);
 # define GC_DATAEND ((void *)((ulong)_end))
 # define GC_INIT_CONF_ROOTS GC_add_roots(GC_DATASTART, GC_DATAEND)
 #elif (defined(PLATFORM_ANDROID) || defined(__ANDROID__)) \
-      && !defined(GC_NOT_DLL)
-  /* Required if GC is built as shared library. */
+      && defined(__arm__) && !defined(GC_NOT_DLL)
+  /* Required if GC is built as shared lib with -D IGNORE_DYNAMIC_LOADING. */
   extern int __data_start[], _end[];
 # define GC_INIT_CONF_ROOTS GC_add_roots(__data_start, _end)
 #else