aboutsummaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2012-10-30 21:51:58 +0100
committerAndreas Schwab <schwab@linux-m68k.org>2012-11-18 16:30:16 +0100
commit786b0b67a3019e84988a6d5a79fd97801580a1cd (patch)
tree1f6882f1cc5131cac30185ddf9aff39411629924 /configure.in
parent67f2b51c62cb0367e30f26a8865d77fc6461bdb3 (diff)
downloadglibc-786b0b67a3019e84988a6d5a79fd97801580a1cd.tar
glibc-786b0b67a3019e84988a6d5a79fd97801580a1cd.tar.gz
glibc-786b0b67a3019e84988a6d5a79fd97801580a1cd.tar.bz2
glibc-786b0b67a3019e84988a6d5a79fd97801580a1cd.zip
Fix ifunc configure check for 64-bit targets
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in8
1 files changed, 6 insertions, 2 deletions
diff --git a/configure.in b/configure.in
index 7c059039a6..9decd7d24b 100644
--- a/configure.in
+++ b/configure.in
@@ -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 || {