mirror of
git://sourceware.org/git/glibc.git
synced 2024-12-27 04:41:02 +08:00
451398f8b8
Always test for TLS support on hppa and raise an error if the TLS support is missing. Signed-off-by: Carlos O'Donell <carlos@systemhalted.org>
141 lines
3.5 KiB
Plaintext
Executable File
141 lines
3.5 KiB
Plaintext
Executable File
|
|
# 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/hppa/elf.
|
|
|
|
# Check for support of thread-local storage handling in assembler and
|
|
# linker.
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for hppa TLS support" >&5
|
|
$as_echo_n "checking for hppa TLS support... " >&6; }
|
|
if test "${libc_cv_hppa_tls+set}" = set; then :
|
|
$as_echo_n "(cached) " >&6
|
|
else
|
|
cat > conftest.s <<\EOF
|
|
; Setup tls data
|
|
.section ".tdata","awT",@progbits
|
|
foo: .data 32
|
|
.text
|
|
; Test general dyanmic relocations
|
|
test0:
|
|
addil LT'foo-$tls_gdidx$, %r19
|
|
ldo RT'foo-$tls_gdidx$(%r1), %r26
|
|
b __tls_get_addr
|
|
nop
|
|
; Test local dynamic relocations
|
|
test1:
|
|
addil LT'foo-$tls_ldidx$, %r19
|
|
b __tls_get_addr
|
|
ldo RT'foo-$tls_ldidx$(%r1), %r26
|
|
ldo RR'foo-$tls_dtpoff$(%r1), %r25
|
|
; More variables can be loaded...
|
|
; Test initial exec reloctiosn
|
|
test2:
|
|
mfctl %cr27, %r26
|
|
addil LT'foo-$tls_ieoff$, %r19
|
|
ldw RT'foo-$tls_ieoff$(%r1), %r25
|
|
add %r26, %r25, %r24
|
|
; Test local exec relocations
|
|
test3:
|
|
mfctl %cr27, %r26
|
|
addil LR'foo-$tls_leoff$, %r26
|
|
ldo RR'foo-$tls_leoff$(%r1), %r25
|
|
; Done all the TLS tests.
|
|
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_hppa_tls=yes
|
|
else
|
|
libc_cv_hppa_tls=no
|
|
fi
|
|
rm -f conftest*
|
|
fi
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_hppa_tls" >&5
|
|
$as_echo "$libc_cv_hppa_tls" >&6; }
|
|
if test $libc_cv_hppa_tls = no; then
|
|
as_fn_error $? "the assembler must support TLS" "$LINENO" 5
|
|
fi
|