# define GC_DATAEND ((void *)((ulong)_end))
# define GC_INIT_CONF_ROOTS GC_add_roots(GC_DATASTART, GC_DATAEND)
#elif (defined(HOST_ANDROID) || defined(__ANDROID__)) \
- && !defined(GC_NOT_DLL)
+ && !defined(GC_NOT_DLL) && defined(IGNORE_DYNAMIC_LOADING)
+ /* It causes the entire binary section of memory be pushed as a root. */
+ /* This might be a bad idea though because on some Android devices */
+ /* some of the binary data might become unmapped thus causing SIGSEGV */
+ /* with code SEGV_MAPERR. */
# pragma weak _etext
# pragma weak __data_start
# pragma weak __dso_handle