From 0b5d5a4666ec75e3390244fd10cd0124c4595e32 Mon Sep 17 00:00:00 2001 From: ljrittle Date: Thu, 3 Sep 2009 16:53:35 +0000 Subject: [PATCH] 2009-09-03 Loren J. Rittle * dyn_load.c (HAVE_DL_ITERATE_PHDR): Break definition from use. Define for FreeBSD 7.0+. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151387 138bc75d-0d04-0410-961f-82ee72b054a4 --- ChangeLog | 5 +++++ dyn_load.c | 12 ++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 11ee0e61..8bd2012b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-09-03 Loren J. Rittle + + * dyn_load.c (HAVE_DL_ITERATE_PHDR): Break definition from use. + Define for FreeBSD 7.0+. + 2009-08-24 Ralf Wildenhues * configure.ac (AC_PREREQ): Bump to 2.64. diff --git a/dyn_load.c b/dyn_load.c index f205be28..200abde7 100644 --- a/dyn_load.c +++ b/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) { -- 2.40.0