Always test for TLS support.

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>
This commit is contained in:
Carlos O'Donell 2011-10-20 14:15:51 -04:00
parent ab653f4dbe
commit 451398f8b8
4 changed files with 193 additions and 29 deletions

View File

@ -1,3 +1,10 @@
2011-10-20 Carlos O'Donell <carlos@systemhalted.org>
* sysdeps/hppa/elf/configure.in: Always test for TLS support
and error out if missing.
* sysdeps/hppa/elf/configure: Regenerate.
* sysdeps/hppa/configure: Regenerate.
2011-10-20 Carlos O'Donell <carlos@systemhalted.org>
* sysdeps/hppa/nptl/tls.h: Update copyright year.

100
sysdeps/hppa/configure vendored
View File

@ -1,19 +1,101 @@
# 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!
{ echo "$as_me:$LINENO: checking for assembler line separator" >&5
echo $ECHO_N "checking for assembler line separator... $ECHO_C" >&6; }
if test "${libc_cv_asm_line_sep+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for assembler line separator" >&5
$as_echo_n "checking for assembler line separator... " >&6; }
if test "${libc_cv_asm_line_sep+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat > conftest.s <<EOF
nop ; is_old_puffin
EOF
if { ac_try='${CC-cc} -c $ASFLAGS conftest.s 1>&5'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then
libc_cv_asm_line_sep='!'
else
if test -z "$enable_hacker_mode"; then
@ -25,8 +107,8 @@ else
fi
rm -f conftest*
fi
{ echo "$as_me:$LINENO: result: $libc_cv_asm_line_sep" >&5
echo "${ECHO_T}$libc_cv_asm_line_sep" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_line_sep" >&5
$as_echo "$libc_cv_asm_line_sep" >&6; }
cat >>confdefs.h <<_ACEOF
#define ASM_LINE_SEP $libc_cv_asm_line_sep
_ACEOF

109
sysdeps/hppa/elf/configure vendored Normal file → Executable file
View File

@ -1,13 +1,94 @@
# 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.
if test "$usetls" != no; then
# Check for support of thread-local storage handling in assembler and
# linker.
{ echo "$as_me:$LINENO: checking for hppa TLS support" >&5
echo $ECHO_N "checking for hppa TLS support... $ECHO_C" >&6; }
if test "${libc_cv_hppa_tls+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
{ $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
@ -41,23 +122,19 @@ test3:
; Done all the TLS tests.
EOF
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
$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
{ echo "$as_me:$LINENO: result: $libc_cv_hppa_tls" >&5
echo "${ECHO_T}$libc_cv_hppa_tls" >&6; }
if test $libc_cv_hppa_tls = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_TLS_SUPPORT 1
_ACEOF
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

View File

@ -1,7 +1,6 @@
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
# Local configure fragment for sysdeps/hppa/elf.
if test "$usetls" != no; then
# Check for support of thread-local storage handling in assembler and
# linker.
AC_CACHE_CHECK(for hppa TLS support, libc_cv_hppa_tls, [dnl
@ -43,7 +42,6 @@ else
libc_cv_hppa_tls=no
fi
rm -f conftest*])
if test $libc_cv_hppa_tls = yes; then
AC_DEFINE(HAVE_TLS_SUPPORT)
fi
if test $libc_cv_hppa_tls = no; then
AC_MSG_ERROR([the assembler must support TLS])
fi