* dyn_load.c [HAVE_DL_ITERATE_PHDR]
(GC_register_dynamic_libraries_dl_iterate_phdr): Cast datastart to
char*volatile* before dereferencing and checking against NULL.
# else
dataend = DATAEND;
# endif
- if (NULL == datastart || (word)datastart > (word)dataend)
+ if (NULL == *(char * volatile *)&datastart
+ || (word)datastart > (word)dataend)
ABORT_ARG2("Wrong DATASTART/END pair",
": %p .. %p", (void *)datastart, (void *)dataend);