diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-08-26 09:17:23 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-08-26 09:17:23 +0000 |
commit | a711b01d34ca5de9857ca5d19235812674fccee6 (patch) | |
tree | 1073e9cf9b096ff80eee7263a6b885cc161f2e43 /configure.in | |
parent | 7c69dc8bc888762333f5ccf1c8c7fb5883ffc6ed (diff) | |
download | glibc-a711b01d34ca5de9857ca5d19235812674fccee6.tar.gz glibc-a711b01d34ca5de9857ca5d19235812674fccee6.tar.xz glibc-a711b01d34ca5de9857ca5d19235812674fccee6.zip |
Update.
2001-08-26 Ulrich Drepper <drepper@redhat.com> * 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.
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 20 |
1 files changed, 19 insertions, 1 deletions
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 <<EOF +int foo (void) { return 0; } +EOF + if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c -Wl,-z,combreloc 1>&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 |