aboutsummaryrefslogtreecommitdiff
path: root/boehm-gc
diff options
context:
space:
mode:
authorLoren J. Rittle <ljrittle@acm.org>2009-09-03 16:53:35 +0000
committerLoren J. Rittle <ljrittle@gcc.gnu.org>2009-09-03 16:53:35 +0000
commit10e1bc0371938bdc3951e43947253c490353a947 (patch)
treec93e5f2d1c35d6d9c604e53ea6a817bd0b77f952 /boehm-gc
parent2e3dac6f94ec46ecfe05f34bba26f09d35b8681b (diff)
downloadgcc-10e1bc0371938bdc3951e43947253c490353a947.zip
gcc-10e1bc0371938bdc3951e43947253c490353a947.tar.gz
gcc-10e1bc0371938bdc3951e43947253c490353a947.tar.bz2
dyn_load.c (HAVE_DL_ITERATE_PHDR): Break definition from use.
2009-09-03 Loren J. Rittle <ljrittle@acm.org> * dyn_load.c (HAVE_DL_ITERATE_PHDR): Break definition from use. Define for FreeBSD 7.0+. From-SVN: r151387
Diffstat (limited to 'boehm-gc')
-rw-r--r--boehm-gc/ChangeLog5
-rw-r--r--boehm-gc/dyn_load.c12
2 files changed, 15 insertions, 2 deletions
diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog
index 11ee0e6..8bd2012 100644
--- a/boehm-gc/ChangeLog
+++ b/boehm-gc/ChangeLog
@@ -1,3 +1,8 @@
+2009-09-03 Loren J. Rittle <ljrittle@acm.org>
+
+ * dyn_load.c (HAVE_DL_ITERATE_PHDR): Break definition from use.
+ Define for FreeBSD 7.0+.
+
2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* configure.ac (AC_PREREQ): Bump to 2.64.
diff --git a/boehm-gc/dyn_load.c b/boehm-gc/dyn_load.c
index f205be2..200abde 100644
--- a/boehm-gc/dyn_load.c
+++ b/boehm-gc/dyn_load.c
@@ -400,6 +400,16 @@ GC_bool GC_register_main_static_data()
/* It may still not be available in the library on the target system. */
/* Thus we also treat it as a weak symbol. */
#define HAVE_DL_ITERATE_PHDR
+#pragma weak dl_iterate_phdr
+#endif
+
+# if (defined(FREEBSD) && __FreeBSD__ >= 7)
+/* On the FreeBSD system, any target system at major version 7 shall */
+/* have dl_iterate_phdr; therefore, we need not make it weak as above. */
+#define HAVE_DL_ITERATE_PHDR
+#endif
+
+#if defined(HAVE_DL_ITERATE_PHDR)
static int GC_register_dynlib_callback(info, size, ptr)
struct dl_phdr_info * info;
@@ -441,8 +451,6 @@ static int GC_register_dynlib_callback(info, size, ptr)
/* Return TRUE if we succeed, FALSE if dl_iterate_phdr wasn't there. */
-#pragma weak dl_iterate_phdr
-
GC_bool GC_register_dynamic_libraries_dl_iterate_phdr()
{
if (dl_iterate_phdr) {