diff --git a/libjava/ChangeLog b/libjava/ChangeLog index ce5d6a4e8d77..61d096ad11f1 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,11 @@ +2006-05-01 Roger Sayle + Andrew Haley + + * 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 * link.cc (_Jv_Linker::resolve_pool_entry): Don't pass vtable_index diff --git a/libjava/boehm.cc b/libjava/boehm.cc index d939f41497ef..a6f7fdf48260 100644 --- a/libjava/boehm.cc +++ b/libjava/boehm.cc @@ -486,7 +486,7 @@ _Jv_InitGC (void) // 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 @@ -581,7 +581,7 @@ _Jv_GCCanReclaimSoftReference (jobject) -#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 @@ -661,7 +661,7 @@ _Jv_GC_has_static_roots (const char *filename, void *, size_t) 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(p), &info) != 0)