mirror of
https://sourceware.org/git/glibc.git
synced 2025-09-02 16:01:20 +03:00
Fix ifunc configure check for 64-bit targets
This commit is contained in:
@@ -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>
|
2012-11-17 David S. Miller <davem@davemloft.net>
|
||||||
|
|
||||||
[BZ #14811]
|
[BZ #14811]
|
||||||
|
8
configure
vendored
8
configure
vendored
@@ -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 :
|
if ${libc_cv_ld_gnu_indirect_function+:} false; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
else
|
else
|
||||||
cat > conftest.s <<EOF
|
cat > conftest.S <<EOF
|
||||||
.type foo,%gnu_indirect_function
|
.type foo,%gnu_indirect_function
|
||||||
foo:
|
foo:
|
||||||
.globl _start
|
.globl _start
|
||||||
@@ -4225,12 +4225,16 @@ _start:
|
|||||||
.globl __start
|
.globl __start
|
||||||
__start:
|
__start:
|
||||||
.data
|
.data
|
||||||
|
#ifdef _LP64
|
||||||
|
.quad foo
|
||||||
|
#else
|
||||||
.long foo
|
.long foo
|
||||||
|
#endif
|
||||||
EOF
|
EOF
|
||||||
libc_cv_ld_gnu_indirect_function=no
|
libc_cv_ld_gnu_indirect_function=no
|
||||||
if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
|
if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
|
||||||
-nostartfiles -nostdlib \
|
-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.
|
# Do a link to see if the backend supports IFUNC relocs.
|
||||||
$READELF -r conftest 1>&5
|
$READELF -r conftest 1>&5
|
||||||
LC_ALL=C $READELF -r conftest | grep 'no relocations' >/dev/null || {
|
LC_ALL=C $READELF -r conftest | grep 'no relocations' >/dev/null || {
|
||||||
|
@@ -577,7 +577,7 @@ fi
|
|||||||
# For the multi-arch option we need support in the assembler & linker.
|
# For the multi-arch option we need support in the assembler & linker.
|
||||||
AC_CACHE_CHECK([for assembler and linker STT_GNU_IFUNC support],
|
AC_CACHE_CHECK([for assembler and linker STT_GNU_IFUNC support],
|
||||||
libc_cv_ld_gnu_indirect_function, [dnl
|
libc_cv_ld_gnu_indirect_function, [dnl
|
||||||
cat > conftest.s <<EOF
|
cat > conftest.S <<EOF
|
||||||
.type foo,%gnu_indirect_function
|
.type foo,%gnu_indirect_function
|
||||||
foo:
|
foo:
|
||||||
.globl _start
|
.globl _start
|
||||||
@@ -585,12 +585,16 @@ _start:
|
|||||||
.globl __start
|
.globl __start
|
||||||
__start:
|
__start:
|
||||||
.data
|
.data
|
||||||
|
#ifdef _LP64
|
||||||
|
.quad foo
|
||||||
|
#else
|
||||||
.long foo
|
.long foo
|
||||||
|
#endif
|
||||||
EOF
|
EOF
|
||||||
libc_cv_ld_gnu_indirect_function=no
|
libc_cv_ld_gnu_indirect_function=no
|
||||||
if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
|
if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
|
||||||
-nostartfiles -nostdlib \
|
-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.
|
# Do a link to see if the backend supports IFUNC relocs.
|
||||||
$READELF -r conftest 1>&AS_MESSAGE_LOG_FD
|
$READELF -r conftest 1>&AS_MESSAGE_LOG_FD
|
||||||
LC_ALL=C $READELF -r conftest | grep 'no relocations' >/dev/null || {
|
LC_ALL=C $READELF -r conftest | grep 'no relocations' >/dev/null || {
|
||||||
|
Reference in New Issue
Block a user