mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-13 14:50:17 +00:00
c053fa34cd
This patch removes the elf/ directory, moving any special configury down a directory e.g. TLS checks. This patch also implements the required crti.S and crtn.S files, verifying that they match the current implementation.
172 lines
4.3 KiB
Plaintext
172 lines
4.3 KiB
Plaintext
|
|
# 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!
|
|
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for assembler line separator" >&5
|
|
$as_echo_n "checking for assembler line separator... " >&6; }
|
|
if ${libc_cv_asm_line_sep+:} false; 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\":${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_asm_line_sep='!'
|
|
else
|
|
if test -z "$enable_hacker_mode"; then
|
|
echo "*** You need a newer assembler to compile glibc"
|
|
rm -f conftest*
|
|
exit 1
|
|
fi
|
|
libc_cv_asm_line_sep=';'
|
|
fi
|
|
rm -f conftest*
|
|
fi
|
|
{ $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
|
|
|
|
|
|
# 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 ${libc_cv_hppa_tls+:} false; 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
|