From f0913ab8d6b3990d68fc498fd2f9d6407fd10536 Mon Sep 17 00:00:00 2001 From: Roger Sayle Date: Mon, 1 May 2006 16:28:42 +0000 Subject: boehm.cc (_Jv_InitGC): Check both HAVE_DLFCN_H and HAVE_DLADDR before calling... * 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. Co-Authored-By: Andrew Haley From-SVN: r113417 --- libjava/ChangeLog | 8 ++++++++ libjava/boehm.cc | 6 +++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index ce5d6a4..61d096a 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 d939f41..a6f7fdf 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) -- cgit v1.1