mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-10 07:10:06 +00:00
alpha: Don't test toolchain support for TLS or GPREL
This commit is contained in:
parent
2e33ecdf8c
commit
cc184e11fe
@ -1,5 +1,8 @@
|
||||
2012-08-13 Richard Henderson <rth@twiddle.net>
|
||||
|
||||
* configure.in: Don't test toolchain support for TLS or GPREL.
|
||||
* configure: Rebuild.
|
||||
|
||||
* sysdeps/alpha/fpu/s_nearbyint.c (nearbyintl): Do compat
|
||||
with GLIBC_2_1.
|
||||
|
||||
|
176
ports/sysdeps/alpha/configure
vendored
176
ports/sysdeps/alpha/configure
vendored
@ -1,176 +1,6 @@
|
||||
|
||||
# as_fn_set_status STATUS
|
||||
# -----------------------
|
||||
# Set $? to STATUS, without forking.
|
||||
as_fn_set_status ()
|
||||
{
|
||||
return $1
|
||||
} # as_fn_set_status
|
||||
|
||||
# as_fn_exit STATUS
|
||||
# -----------------
|
||||
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
|
||||
as_fn_exit ()
|
||||
{
|
||||
set +e
|
||||
as_fn_set_status $1
|
||||
exit $1
|
||||
} # as_fn_exit
|
||||
if expr a : '\(a\)' >/dev/null 2>&1 &&
|
||||
test "X`expr 00001 : '.*\(...\)'`" = X001; then
|
||||
as_expr=expr
|
||||
else
|
||||
as_expr=false
|
||||
fi
|
||||
|
||||
if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
|
||||
as_basename=basename
|
||||
else
|
||||
as_basename=false
|
||||
fi
|
||||
|
||||
as_me=`$as_basename -- "$0" ||
|
||||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
|
||||
X"$0" : 'X\(//\)$' \| \
|
||||
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
|
||||
$as_echo X/"$0" |
|
||||
sed '/^.*\/\([^/][^/]*\)\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\/\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\/\(\/\).*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
s/.*/./; q'`
|
||||
|
||||
|
||||
as_lineno_1=$LINENO as_lineno_1a=$LINENO
|
||||
as_lineno_2=$LINENO as_lineno_2a=$LINENO
|
||||
eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
|
||||
test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
|
||||
# Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
|
||||
sed -n '
|
||||
p
|
||||
/[$]LINENO/=
|
||||
' <$as_myself |
|
||||
sed '
|
||||
s/[$]LINENO.*/&-/
|
||||
t lineno
|
||||
b
|
||||
:lineno
|
||||
N
|
||||
:loop
|
||||
s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
|
||||
t loop
|
||||
s/-\n.*//
|
||||
' >$as_me.lineno &&
|
||||
chmod +x "$as_me.lineno" ||
|
||||
{ $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
|
||||
|
||||
# Don't try to exec as it changes $[0], causing all sort of problems
|
||||
# (the dirname of $[0] is not the place where we might find the
|
||||
# original and so on. Autoconf is especially sensitive to this).
|
||||
. "./$as_me.lineno"
|
||||
# Exit status is that of the last command.
|
||||
exit
|
||||
}
|
||||
|
||||
# This file is generated from configure.in by Autoconf. DO NOT EDIT!
|
||||
# Local configure fragment for sysdeps/alpha.
|
||||
|
||||
# Check for support of thread-local storage handling in assembler and linker.
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Alpha TLS support" >&5
|
||||
$as_echo_n "checking for Alpha TLS support... " >&6; }
|
||||
if ${libc_cv_alpha_tls+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat > conftest.s <<\EOF
|
||||
.section ".tdata", "awT", @progbits
|
||||
.globl foo
|
||||
foo: .quad 1
|
||||
.section ".tbss", "awT", @nobits
|
||||
.globl bar
|
||||
bar: .skip 8
|
||||
.text
|
||||
baz:
|
||||
.set nomacro
|
||||
ldq $27, __tls_get_addr($29) !literal!1
|
||||
ldq $16, a($29) !tlsgd!1
|
||||
jsr $26, ($27), __tls_get_addr !lituse_tlsgd!1
|
||||
|
||||
jsr $26, ($27), __tls_get_addr !lituse_tlsldm!2
|
||||
ldq $27, __tls_get_addr($29) !literal!2
|
||||
ldq $16, b($29) !tlsldm!2
|
||||
|
||||
ldq $16, c($29) !tlsgd
|
||||
ldq $16, d($29) !tlsldm
|
||||
|
||||
ldq $16, e($29) !tlsgd!3
|
||||
ldq $16, f($29) !tlsldm!4
|
||||
|
||||
ldq $16, g($29) !gotdtprel
|
||||
ldah $16, h($31) !dtprelhi
|
||||
lda $16, i($16) !dtprello
|
||||
lda $16, j($31) !dtprel
|
||||
|
||||
ldq $16, k($29) !gottprel
|
||||
ldah $16, l($31) !tprelhi
|
||||
lda $16, m($16) !tprello
|
||||
lda $16, n($31) !tprel
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'
|
||||
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; }; then
|
||||
libc_cv_alpha_tls=yes
|
||||
else
|
||||
libc_cv_alpha_tls=no
|
||||
fi
|
||||
rm -f conftest*
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_alpha_tls" >&5
|
||||
$as_echo "$libc_cv_alpha_tls" >&6; }
|
||||
if test $libc_cv_alpha_tls = no; then
|
||||
as_fn_error $? "the assembler must support TLS" "$LINENO" 5
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GP relative module local relocs" >&5
|
||||
$as_echo_n "checking for GP relative module local relocs... " >&6; }
|
||||
if ${libc_cv_alpha_hidden_gprel+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat > conftest.c <<\EOF
|
||||
static volatile int bar;
|
||||
int baz __attribute__((visibility("hidden")));
|
||||
int f(void) { return bar + baz; }
|
||||
EOF
|
||||
|
||||
libc_cv_alpha_hidden_gprel=no
|
||||
if { ac_try='${CC-cc} -S $CFLAGS -O2 -fpic conftest.c 1>&5'
|
||||
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; }; then
|
||||
if grep -q 'bar.*!gprel' conftest.s \
|
||||
&& grep -q 'baz.*!gprel' conftest.s \
|
||||
&& ! grep -q 'bar.*!literal' conftest.s \
|
||||
&& ! grep -q 'baz.*!literal' conftest.s; then
|
||||
libc_cv_alpha_hidden_gprel=yes
|
||||
fi
|
||||
fi
|
||||
rm -f conftest*
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_alpha_hidden_gprel" >&5
|
||||
$as_echo "$libc_cv_alpha_hidden_gprel" >&6; }
|
||||
if test $libc_cv_alpha_hidden_gprel = yes; then
|
||||
$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
# With required gcc+binutils, we can always access static and hidden
|
||||
# symbols in a position independent way.
|
||||
$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h
|
||||
|
@ -1,71 +1,6 @@
|
||||
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
|
||||
# Local configure fragment for sysdeps/alpha.
|
||||
|
||||
# Check for support of thread-local storage handling in assembler and linker.
|
||||
AC_CACHE_CHECK(for Alpha TLS support, libc_cv_alpha_tls, [dnl
|
||||
cat > conftest.s <<\EOF
|
||||
.section ".tdata", "awT", @progbits
|
||||
.globl foo
|
||||
foo: .quad 1
|
||||
.section ".tbss", "awT", @nobits
|
||||
.globl bar
|
||||
bar: .skip 8
|
||||
.text
|
||||
baz:
|
||||
.set nomacro
|
||||
ldq $27, __tls_get_addr($29) !literal!1
|
||||
ldq $16, a($29) !tlsgd!1
|
||||
jsr $26, ($27), __tls_get_addr !lituse_tlsgd!1
|
||||
|
||||
jsr $26, ($27), __tls_get_addr !lituse_tlsldm!2
|
||||
ldq $27, __tls_get_addr($29) !literal!2
|
||||
ldq $16, b($29) !tlsldm!2
|
||||
|
||||
ldq $16, c($29) !tlsgd
|
||||
ldq $16, d($29) !tlsldm
|
||||
|
||||
ldq $16, e($29) !tlsgd!3
|
||||
ldq $16, f($29) !tlsldm!4
|
||||
|
||||
ldq $16, g($29) !gotdtprel
|
||||
ldah $16, h($31) !dtprelhi
|
||||
lda $16, i($16) !dtprello
|
||||
lda $16, j($31) !dtprel
|
||||
|
||||
ldq $16, k($29) !gottprel
|
||||
ldah $16, l($31) !tprelhi
|
||||
lda $16, m($16) !tprello
|
||||
lda $16, n($31) !tprel
|
||||
EOF
|
||||
dnl
|
||||
if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
|
||||
libc_cv_alpha_tls=yes
|
||||
else
|
||||
libc_cv_alpha_tls=no
|
||||
fi
|
||||
rm -f conftest*])
|
||||
if test $libc_cv_alpha_tls = no; then
|
||||
AC_MSG_ERROR([the assembler must support TLS])
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK(for GP relative module local relocs, libc_cv_alpha_hidden_gprel, [dnl
|
||||
cat > conftest.c <<\EOF
|
||||
static volatile int bar;
|
||||
int baz __attribute__((visibility("hidden")));
|
||||
int f(void) { return bar + baz; }
|
||||
EOF
|
||||
dnl
|
||||
|
||||
libc_cv_alpha_hidden_gprel=no
|
||||
if AC_TRY_COMMAND(${CC-cc} -S $CFLAGS -O2 -fpic conftest.c 1>&AS_MESSAGE_LOG_FD); then
|
||||
if grep -q 'bar.*!gprel' conftest.s \
|
||||
&& grep -q 'baz.*!gprel' conftest.s \
|
||||
&& ! grep -q 'bar.*!literal' conftest.s \
|
||||
&& ! grep -q 'baz.*!literal' conftest.s; then
|
||||
libc_cv_alpha_hidden_gprel=yes
|
||||
fi
|
||||
fi
|
||||
rm -f conftest*])
|
||||
if test $libc_cv_alpha_hidden_gprel = yes; then
|
||||
AC_DEFINE(PI_STATIC_AND_HIDDEN)
|
||||
fi
|
||||
# With required gcc+binutils, we can always access static and hidden
|
||||
# symbols in a position independent way.
|
||||
AC_DEFINE(PI_STATIC_AND_HIDDEN)
|
||||
|
Loading…
Reference in New Issue
Block a user