From a711b01d34ca5de9857ca5d19235812674fccee6 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 26 Aug 2001 09:17:23 +0000 Subject: Update. 2001-08-26 Ulrich Drepper * config.h.in: Add HAVE_Z_COMBRELOC. * configure.in: Add test for -z combreloc. * sysdeps/i386/dl-machine.h (elf_machine_rel): Minor cleanups and optimizations. Use HAVE_Z_COMBRELOC to avoid generaton of R_386_RELATIVE handling for ld.so startup. --- configure.in | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'configure.in') diff --git a/configure.in b/configure.in index 5962b91340..719856e2b7 100644 --- a/configure.in +++ b/configure.in @@ -255,7 +255,7 @@ gnu* | linux* | sysv4* | solaris2* | irix6*) aix*) # These systems are always xcoff xcoff=yes - elf=no + elf=no ;; esac @@ -1061,6 +1061,24 @@ EOF fi rm -f conftest*]) AC_SUBST(libc_cv_Bgroup) + + AC_CACHE_CHECK(for -z combreloc, + libc_cv_z_combreloc, [dnl + cat > conftest.c <&AC_FD_CC]) + then +dnl The following test is a bit weak. We must use a tool which can test +dnl cross-platform since the gcc used can be a cross compiler. Without +dnl introducing new options this is not easily doable. Instead use a tool +dnl which always is cross-platform: readelf. To detect whether -z combreloc +dnl look for a section named .rel.dyn. + if readelf -S conftest.so | fgrep .rel.dyn > /dev/null; then + AC_DEFINE(HAVE_Z_COMBRELOC) + fi + fi + rm -f conftest*]) fi if test $elf != yes; then -- cgit 1.4.1