This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Glibc on arm appears to misdetect that -z combreloc fails to work. This patch gives the option to disable it if needed for testing: 2002-11-06 Jeff Bailey <jbailey@gnu.org> * configure.in: Add option --without-combreloc. Index: configure.in =================================================================== RCS file: /cvs/glibc/libc/configure.in,v retrieving revision 1.375 diff -u -p -r1.375 configure.in --- configure.in 6 Nov 2002 08:54:01 -0000 1.375 +++ configure.in 6 Nov 2002 13:09:10 -0000 @@ -182,6 +182,12 @@ AC_ARG_WITH([__thread], [use__thread=$withval], [use__thread=yes]) +AC_ARG_WITH([combreloc], + AC_HELP_STRING([--without-combreloc], + [do not use -z combreloc]), + [usecombreloc=$withval], + [usecombreloc=yes]) + AC_ARG_ENABLE([hidden-plt], AC_HELP_STRING([--disable-hidden-plt], [do not hide internal function calls to avoid PLT]), @@ -1268,33 +1274,37 @@ EOF rm -f conftest*]) AC_SUBST(libc_cv_Bgroup) - AC_CACHE_CHECK(for -z combreloc, - libc_cv_z_combreloc, [dnl - cat > conftest.c <<EOF + if test "x$usecombreloc" != xno; then + AC_CACHE_CHECK(for -z combreloc, + libc_cv_z_combreloc, [dnl + cat > conftest.c <<EOF extern int bar (int); extern int mumble; int foo (void) { return bar (mumble); } EOF - if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c + if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c -nostdlib -nostartfiles -Wl,-z,combreloc 1>&AS_MESSAGE_LOG_FD]) - then + 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 | grep '\.rel\(a\|\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no + if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then + libc_cv_z_combreloc=yes + else + libc_cv_z_combreloc=no + fi + else + libc_cv_z_combreloc=no + fi + rm -f conftest*]) + if test "$libc_cv_z_combreloc" = yes; then + AC_DEFINE(HAVE_Z_COMBRELOC) fi else libc_cv_z_combreloc=no - fi - rm -f conftest*]) - if test "$libc_cv_z_combreloc" = yes; then - AC_DEFINE(HAVE_Z_COMBRELOC) fi fi AC_SUBST(libc_cv_z_combreloc)
Attachment:
signature.asc
Description: This is a digitally signed message part
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |