+2006-05-01 Roger Sayle <roger@eyesopen.com>
+ Andrew Haley <aph@redhat.com>
+
+ * boehm.cc (_Jv_InitGC): Check both HAVE_DLFCN_H and HAVE_DLADDR
+ before calling GC_register_has_static_roots_callback.
+ (_Jv_RegisterLibForGc): Likewise, test for both HAVE_DLFCN_H and
+ HAVE_DLADDR before calling dladdr.
+
2006-04-28 Bryce McKinlay <mckinlay@redhat.com>
* link.cc (_Jv_Linker::resolve_pool_entry): Don't pass vtable_index
// Ignore pointers that do not point to the start of an object.
GC_all_interior_pointers = 0;
-#ifdef HAVE_DLFCN_H
+#if defined (HAVE_DLFCN_H) && defined (HAVE_DLADDR)
// Tell the collector to ask us before scanning DSOs.
GC_register_has_static_roots_callback (_Jv_GC_has_static_roots);
#endif
\f
-#ifdef HAVE_DLFCN_H
+#if defined (HAVE_DLFCN_H) && defined (HAVE_DLADDR)
// We keep a store of the filenames of DSOs that need to be
// conservatively scanned by the garbage collector. During collection
void
_Jv_RegisterLibForGc (const void *p __attribute__ ((__unused__)))
{
-#ifdef HAVE_DLFCN_H
+#if defined (HAVE_DLFCN_H) && defined (HAVE_DLADDR)
Dl_info info;
if (dladdr (const_cast<void *>(p), &info) != 0)