Fix ifunc configure check for 64-bit targets
authorAndreas Schwab <schwab@linux-m68k.org>
Tue, 30 Oct 2012 20:51:58 +0000 (21:51 +0100)
committerAndreas Schwab <schwab@linux-m68k.org>
Sun, 18 Nov 2012 15:30:16 +0000 (16:30 +0100)
ChangeLog
configure
configure.in

index 9bdff02..de3de3e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-11-18  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * configure.in (libc_cv_ld_gnu_indirect_function): Use .quad on
+       64-bit targets.
+       * configure: Regenerated.
+
 2012-11-17  David S. Miller  <davem@davemloft.net>
 
        [BZ #14811]
index 980f25f..1927ce8 100755 (executable)
--- a/configure
+++ b/configure
@@ -4217,7 +4217,7 @@ $as_echo_n "checking for assembler and linker STT_GNU_IFUNC support... " >&6; }
 if ${libc_cv_ld_gnu_indirect_function+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  cat > conftest.s <<EOF
+  cat > conftest.S <<EOF
 .type foo,%gnu_indirect_function
 foo:
 .globl _start
@@ -4225,12 +4225,16 @@ _start:
 .globl __start
 __start:
 .data
+#ifdef _LP64
+.quad foo
+#else
 .long foo
+#endif
 EOF
 libc_cv_ld_gnu_indirect_function=no
 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
            -nostartfiles -nostdlib \
-           -o conftest conftest.s 1>&5 2>&5; then
+           -o conftest conftest.S 1>&5 2>&5; then
   # Do a link to see if the backend supports IFUNC relocs.
   $READELF -r conftest 1>&5
   LC_ALL=C $READELF -r conftest | grep 'no relocations' >/dev/null || {
index 7c05903..9decd7d 100644 (file)
@@ -577,7 +577,7 @@ fi
 # For the multi-arch option we need support in the assembler & linker.
 AC_CACHE_CHECK([for assembler and linker STT_GNU_IFUNC support],
               libc_cv_ld_gnu_indirect_function, [dnl
-cat > conftest.s <<EOF
+cat > conftest.S <<EOF
 .type foo,%gnu_indirect_function
 foo:
 .globl _start
@@ -585,12 +585,16 @@ _start:
 .globl __start
 __start:
 .data
+#ifdef _LP64
+.quad foo
+#else
 .long foo
+#endif
 EOF
 libc_cv_ld_gnu_indirect_function=no
 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
            -nostartfiles -nostdlib \
-           -o conftest conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
+           -o conftest conftest.S 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
   # Do a link to see if the backend supports IFUNC relocs.
   $READELF -r conftest 1>&AS_MESSAGE_LOG_FD
   LC_ALL=C $READELF -r conftest | grep 'no relocations' >/dev/null || {