+2009-02-23 Zoltan Varga <vargaz@gmail.com>
+
+ * os_dep.c (GC_init_linux_data_start): Avoid the call to GC_find_limit ()
+ if GC_no_dls is TRUE, as it is not needed and it complicates debugging since
+ it causes a SIGSEGV.
+
2009-01-18 Zoltan Varga <vargaz@gmail.com>
* include/private/gcconfig.h: Applied patch from Koushik Dutta
{
extern ptr_t GC_find_limit();
+ if (GC_no_dls)
+ /*
+ * Not needed, avoids the SIGSEGV caused by GC_find_limit which
+ * complicates debugging.
+ */
+ return;
+
# ifdef LINUX
/* Try the easy approaches first: */
if ((ptr_t)__data_start != 0) {
/* hanging from it. We're on thin ice here ... */
extern caddr_t sbrk();
+ GC_ASSERT(DATASTART);
GC_add_roots_inner(DATASTART, (char *)sbrk(0), FALSE);
# else
+ GC_ASSERT(DATASTART);
GC_add_roots_inner(DATASTART, (char *)(DATAEND), FALSE);
# if defined(DATASTART2)
GC_add_roots_inner(DATASTART2, (char *)(DATAEND2), FALSE);