From 3a2545a0f345a6c6348e9f7ce56e929aeab61f10 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Tue, 21 Feb 2012 11:49:48 -0800 Subject: Consolidate Sparc ELF configure fragments to one spot. * sysdeps/sparc/sparc32/elf/configure.in: Delete. * sysdeps/sparc/sparc32/elf/configure: Delete. * sysdeps/sparc/sparc64/elf/configure.in: Delete. * sysdeps/sparc/sparc64/elf/configure: Delete. * sysdeps/sparc/elf/configure.in: New file. * sysdeps/sparc/elf/configure: Generate. --- sysdeps/sparc/elf/configure | 138 +++++++++++++++++++++++++++++++++++++++++ sysdeps/sparc/elf/configure.in | 47 ++++++++++++++ 2 files changed, 185 insertions(+) create mode 100644 sysdeps/sparc/elf/configure create mode 100644 sysdeps/sparc/elf/configure.in (limited to 'sysdeps/sparc/elf') diff --git a/sysdeps/sparc/elf/configure b/sysdeps/sparc/elf/configure new file mode 100644 index 0000000000..78dc977ec7 --- /dev/null +++ b/sysdeps/sparc/elf/configure @@ -0,0 +1,138 @@ + +# 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/sparc/elf. + +# Check for support of thread-local storage handling in assembler and linker. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sparc TLS support" >&5 +$as_echo_n "checking for sparc TLS support... " >&6; } +if ${libc_cv_sparc_tls+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.S <<\EOF + .section ".tdata", "awT", @progbits + .globl foo +foo: .word 1 + .section ".tbss", "awT", @nobits + .globl bar +bar: .skip 4 + .text +baz: sethi %tgd_hi22(foo), %l1 + add %l1, %tgd_lo10(foo), %l1 + add %l7, %l1, %o0, %tgd_add(foo) + call __tls_get_addr, %tgd_call(foo) + sethi %tldm_hi22(bar), %l1 + add %l1, %tldm_lo10(bar), %l1 + add %l7, %l1, %o0, %tldm_add(bar) + call __tls_get_addr, %tldm_call(bar) + sethi %tldo_hix22(bar), %l1 + xor %l1, %tldo_lox10(bar), %l1 + add %o0, %l1, %l1, %tldo_add(bar) + sethi %tie_hi22(foo), %l1 + add %l1, %tie_lo10(foo), %l1 +#ifdef __arch64__ + ldx [%l7 + %l1], %l1, %tie_ldx(foo) +#else + ld [%l7 + %l1], %l1, %tie_ld(foo) +#endif + add %g7, %l1, %l1, %tie_add(foo) + sethi %tle_hix22(foo), %l1 + xor %l1, %tle_lox10(foo), %l1 +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_sparc_tls=yes +else + libc_cv_sparc_tls=no +fi +rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_sparc_tls" >&5 +$as_echo "$libc_cv_sparc_tls" >&6; } +if test $libc_cv_sparc_tls = no; then + as_fn_error $? "the assembler must support TLS" "$LINENO" 5 +fi diff --git a/sysdeps/sparc/elf/configure.in b/sysdeps/sparc/elf/configure.in new file mode 100644 index 0000000000..c22a7c5c58 --- /dev/null +++ b/sysdeps/sparc/elf/configure.in @@ -0,0 +1,47 @@ +GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. +# Local configure fragment for sysdeps/sparc/elf. + +# Check for support of thread-local storage handling in assembler and linker. +AC_CACHE_CHECK(for sparc TLS support, libc_cv_sparc_tls, [dnl +changequote(,)dnl +cat > conftest.S <<\EOF + .section ".tdata", "awT", @progbits + .globl foo +foo: .word 1 + .section ".tbss", "awT", @nobits + .globl bar +bar: .skip 4 + .text +baz: sethi %tgd_hi22(foo), %l1 + add %l1, %tgd_lo10(foo), %l1 + add %l7, %l1, %o0, %tgd_add(foo) + call __tls_get_addr, %tgd_call(foo) + sethi %tldm_hi22(bar), %l1 + add %l1, %tldm_lo10(bar), %l1 + add %l7, %l1, %o0, %tldm_add(bar) + call __tls_get_addr, %tldm_call(bar) + sethi %tldo_hix22(bar), %l1 + xor %l1, %tldo_lox10(bar), %l1 + add %o0, %l1, %l1, %tldo_add(bar) + sethi %tie_hi22(foo), %l1 + add %l1, %tie_lo10(foo), %l1 +#ifdef __arch64__ + ldx [%l7 + %l1], %l1, %tie_ldx(foo) +#else + ld [%l7 + %l1], %l1, %tie_ld(foo) +#endif + add %g7, %l1, %l1, %tie_add(foo) + sethi %tle_hix22(foo), %l1 + xor %l1, %tle_lox10(foo), %l1 +EOF +changequote([,])dnl +dnl +if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.S 1>&AS_MESSAGE_LOG_FD); then + libc_cv_sparc_tls=yes +else + libc_cv_sparc_tls=no +fi +rm -f conftest*]) +if test $libc_cv_sparc_tls = no; then + AC_MSG_ERROR([the assembler must support TLS]) +fi -- cgit 1.4.1