Move sysdeps/sparc/{,sparc32,sparc64}/elf files

* sysdeps/sparc/elf/configure.in: Moved to ...
	* sysdeps/sparc/configure.in: ... here.
	* sysdeps/sparc/elf/configure: Delete file.
	* sysdeps/sparc/sparc32/elf/start.S: Moved to ...
	* sysdeps/sparc/sparc32/start.S: ... here.
	* sysdeps/sparc/sparc64/elf/start.S: Moved to ...
	* sysdeps/sparc/sparc64/start.S: ... here.
	* sysdeps/sparc/sparc32/elf/Makefile: Merged into ...
	* sysdeps/sparc/sparc32/Makefile: ... this.
	* sysdeps/sparc/sparc64/elf/Makefile: Merged into ...
	* sysdeps/sparc/sparc64/Makefile: ... this.
This commit is contained in:
Andreas Jaeger 2012-03-23 17:37:30 +01:00 committed by Andreas Jaeger
parent 27a0f3a948
commit 8cd23080c4
9 changed files with 80 additions and 261 deletions

View File

@ -28,3 +28,76 @@ rm -f conftest*])
if test $libc_cv_sparc_as_vis3 = yes; then
AC_DEFINE(HAVE_AS_VIS3_SUPPORT)
fi
# 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
# Check for a GCC emitting GOTDATA relocations.
AC_CACHE_CHECK(for sparc gcc GOTDATA reloc support, libc_cv_sparc_gcc_gotdata, [dnl
changequote(,)dnl
cat > conftest.c <<\EOF
int data;
int foo(void)
{
return data;
}
EOF
changequote([,])dnl
dnl
libc_cv_sparc_gcc_gotdata=no
if AC_TRY_COMMAND(${CC-cc} -S $CFLAGS -O2 -fPIC conftest.c 1>&AS_MESSAGE_LOG_FD); then
if grep -q 'gdop_hix22' conftest.s \
&& grep -q 'gdop_lox10' conftest.s; then
libc_cv_sparc_gcc_gotdata=yes
fi
fi
rm -f conftest*])
if test $libc_cv_sparc_gcc_gotdata = yes; then
AC_DEFINE(HAVE_GCC_GOTDATA)
fi
if test $libc_cv_sparc_gcc_gotdata = yes; then
AC_DEFINE(PI_STATIC_AND_HIDDEN)
fi

View File

@ -1,177 +0,0 @@
# 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
# Check for a GCC emitting GOTDATA relocations.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sparc gcc GOTDATA reloc support" >&5
$as_echo_n "checking for sparc gcc GOTDATA reloc support... " >&6; }
if ${libc_cv_sparc_gcc_gotdata+:} false; then :
$as_echo_n "(cached) " >&6
else
cat > conftest.c <<\EOF
int data;
int foo(void)
{
return data;
}
EOF
libc_cv_sparc_gcc_gotdata=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 'gdop_hix22' conftest.s \
&& grep -q 'gdop_lox10' conftest.s; then
libc_cv_sparc_gcc_gotdata=yes
fi
fi
rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_sparc_gcc_gotdata" >&5
$as_echo "$libc_cv_sparc_gcc_gotdata" >&6; }
if test $libc_cv_sparc_gcc_gotdata = yes; then
$as_echo "#define HAVE_GCC_GOTDATA 1" >>confdefs.h
fi
if test $libc_cv_sparc_gcc_gotdata = yes; then
$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h
fi

View File

@ -1,75 +0,0 @@
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
# Check for a GCC emitting GOTDATA relocations.
AC_CACHE_CHECK(for sparc gcc GOTDATA reloc support, libc_cv_sparc_gcc_gotdata, [dnl
changequote(,)dnl
cat > conftest.c <<\EOF
int data;
int foo(void)
{
return data;
}
EOF
changequote([,])dnl
dnl
libc_cv_sparc_gcc_gotdata=no
if AC_TRY_COMMAND(${CC-cc} -S $CFLAGS -O2 -fPIC conftest.c 1>&AS_MESSAGE_LOG_FD); then
if grep -q 'gdop_hix22' conftest.s \
&& grep -q 'gdop_lox10' conftest.s; then
libc_cv_sparc_gcc_gotdata=yes
fi
fi
rm -f conftest*])
if test $libc_cv_sparc_gcc_gotdata = yes; then
AC_DEFINE(HAVE_GCC_GOTDATA)
fi
if test $libc_cv_sparc_gcc_gotdata = yes; then
AC_DEFINE(PI_STATIC_AND_HIDDEN)
fi

View File

@ -1,4 +1,4 @@
# Copyright (C) 1991-1998, 2000, 2011 Free Software Foundation, Inc.
# Copyright (C) 1991-1998, 2000, 2011, 2012 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -47,3 +47,6 @@ $(divrem:%=$(sysdep_dir)/sparc/sparc32/%.S): $(sysdep_dir)/sparc/sparc32/divrem.
mv -f $@-tmp $@
sysdep-realclean := $(sysdep-realclean) $(divrem:%=sysdeps/sparc/sparc32/%.S)
# The assembler on SPARC needs the -fPIC flag even when it's assembler code.
ASFLAGS-.os = -fPIC

View File

@ -1,4 +0,0 @@
# Sparc/ELF specific definitions.
# The assembler on SPARC needs the -fPIC flag even when it's assembler code.
ASFLAGS-.os = -fPIC

View File

@ -15,3 +15,6 @@ ASFLAGS-.og += -Wa,-Av9d
ASFLAGS-.ob += -Wa,-Av9d
ASFLAGS-.oS += -Wa,-Av9d
endif
# The assembler on SPARC needs the -fPIC flag even when it's assembler code.
ASFLAGS-.os = -fPIC

View File

@ -1,4 +0,0 @@
# Sparc/ELF specific definitions.
# The assembler on SPARC needs the -fPIC flag even when it's assembler code.
ASFLAGS-.os = -fPIC