diff options
author | Andreas Schwab <schwab@linux-m68k.org> | 2012-10-30 21:51:58 +0100 |
---|---|---|
committer | Andreas Schwab <schwab@linux-m68k.org> | 2012-11-18 16:30:16 +0100 |
commit | 786b0b67a3019e84988a6d5a79fd97801580a1cd (patch) | |
tree | 1f6882f1cc5131cac30185ddf9aff39411629924 | |
parent | 67f2b51c62cb0367e30f26a8865d77fc6461bdb3 (diff) | |
download | glibc-786b0b67a3019e84988a6d5a79fd97801580a1cd.tar glibc-786b0b67a3019e84988a6d5a79fd97801580a1cd.tar.gz glibc-786b0b67a3019e84988a6d5a79fd97801580a1cd.tar.bz2 glibc-786b0b67a3019e84988a6d5a79fd97801580a1cd.zip |
Fix ifunc configure check for 64-bit targets
-rw-r--r-- | ChangeLog | 6 | ||||
-rwxr-xr-x | configure | 8 | ||||
-rw-r--r-- | configure.in | 8 |
3 files changed, 18 insertions, 4 deletions
@@ -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] @@ -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 || { 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 || { |