configure.in: When target is sparc* and tm_file contains 64, test for 64bit support in assembler.
* configure.in: When target is sparc* and tm_file contains 64, test for 64bit support in assembler. If not supported, remove sparc/t-sol2-64 from target-dependent Makefile fragments. (AS_SPARC64_FLAG): Define to the assembler flag for 64bit. (HAVE_AS_OFFSETABLE_LO10): Rework test to use these flags. (HAVE_AS_REGISTER_PSEUDO_OP): Use config.cache. * acconfig.h (AS_SPARC64_FLAG): Added. * configure, config.in: Rebuilt. * config/sparc/sol2-sld-64.h: Same as sol2.h, if without 64bit support. Use AS_SPARC64_FLAG. From-SVN: r30827
This commit is contained in:
parent
efe8d0acb4
commit
5b68c389aa
@ -1,3 +1,16 @@
|
||||
1999-12-08 Alexandre Oliva <oliva@lsd.ic.unicamp.br>, Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* configure.in: When target is sparc* and tm_file contains 64,
|
||||
test for 64bit support in assembler. If not supported, remove
|
||||
sparc/t-sol2-64 from target-dependent Makefile fragments.
|
||||
(AS_SPARC64_FLAG): Define to the assembler flag for 64bit.
|
||||
(HAVE_AS_OFFSETABLE_LO10): Rework test to use these flags.
|
||||
(HAVE_AS_REGISTER_PSEUDO_OP): Use config.cache.
|
||||
* acconfig.h (AS_SPARC64_FLAG): Added.
|
||||
* configure, config.in: Rebuilt.
|
||||
* config/sparc/sol2-sld-64.h: Same as sol2.h, if without 64bit
|
||||
support. Use AS_SPARC64_FLAG.
|
||||
|
||||
1999-12-07 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* config/sparc/sparc.c (hard_32bit_mode_classes): Mark registers
|
||||
|
@ -33,6 +33,9 @@
|
||||
/* Define if your assembler supports .balign and .p2align. */
|
||||
#undef HAVE_GAS_BALIGN_AND_P2ALIGN
|
||||
|
||||
/* Define if the assembler supports 64bit sparc. */
|
||||
#undef AS_SPARC64_FLAG
|
||||
|
||||
/* Define if your assembler supports offsetable %lo(). */
|
||||
#undef HAVE_AS_OFFSETABLE_LO10
|
||||
|
||||
|
@ -34,6 +34,9 @@
|
||||
/* Define if your assembler supports .balign and .p2align. */
|
||||
#undef HAVE_GAS_BALIGN_AND_P2ALIGN
|
||||
|
||||
/* Define if the assembler supports 64bit sparc. */
|
||||
#undef AS_SPARC64_FLAG
|
||||
|
||||
/* Define if your assembler supports offsetable %lo(). */
|
||||
#undef HAVE_AS_OFFSETABLE_LO10
|
||||
|
||||
|
@ -1,10 +1,16 @@
|
||||
/* Definitions of target machine for GNU compiler, for 64-bit SPARC
|
||||
running Solaris 2 using the system linker. */
|
||||
|
||||
#ifdef AS_SPARC64_FLAG
|
||||
|
||||
#define SPARC_BI_ARCH
|
||||
|
||||
#endif
|
||||
|
||||
#include "sparc/sol2.h"
|
||||
|
||||
#ifdef AS_SPARC64_FLAG
|
||||
|
||||
/* At least up through Solaris 2.6,
|
||||
the system linker does not work with DWARF or DWARF2,
|
||||
since it does not have working support for relocations
|
||||
@ -31,7 +37,7 @@
|
||||
#undef ASM_CPU32_DEFAULT_SPEC
|
||||
#define ASM_CPU32_DEFAULT_SPEC ""
|
||||
#undef ASM_CPU64_DEFAULT_SPEC
|
||||
#define ASM_CPU64_DEFAULT_SPEC "-xarch=v9"
|
||||
#define ASM_CPU64_DEFAULT_SPEC AS_SPARC64_FLAG
|
||||
|
||||
#if TARGET_CPU_DEFAULT == TARGET_CPU_v9
|
||||
#undef CPP_CPU64_DEFAULT_SPEC
|
||||
@ -45,7 +51,7 @@
|
||||
#undef ASM_CPU32_DEFAULT_SPEC
|
||||
#define ASM_CPU32_DEFAULT_SPEC "-xarch=v8plusa"
|
||||
#undef ASM_CPU64_DEFAULT_SPEC
|
||||
#define ASM_CPU64_DEFAULT_SPEC "-xarch=v9a"
|
||||
#define ASM_CPU64_DEFAULT_SPEC AS_SPARC64_FLAG "a"
|
||||
#endif
|
||||
|
||||
/* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
|
||||
@ -84,9 +90,9 @@
|
||||
|
||||
#undef ASM_CPU_SPEC
|
||||
#define ASM_CPU_SPEC "\
|
||||
%{mcpu=ultrasparc:" DEF_ARCH32_SPEC("-xarch=v8plusa") DEF_ARCH64_SPEC("-xarch=v9a") "} \
|
||||
%{mcpu=v9:" DEF_ARCH32_SPEC("-xarch=v8plus") DEF_ARCH64_SPEC("-xarch=v9") "} \
|
||||
%{!mcpu=ultrasparc:%{!mcpu=v9:%{mcpu*:" DEF_ARCH32_SPEC("-xarch=v8") DEF_ARCH64_SPEC("-xarch=v9") "}}} \
|
||||
%{mcpu=ultrasparc:" DEF_ARCH32_SPEC("-xarch=v8plusa") DEF_ARCH64_SPEC(AS_SPARC64_FLAG "a") "} \
|
||||
%{mcpu=v9:" DEF_ARCH32_SPEC("-xarch=v8plus") DEF_ARCH64_SPEC(AS_SPARC64_FLAG) "} \
|
||||
%{!mcpu=ultrasparc:%{!mcpu=v9:%{mcpu*:" DEF_ARCH32_SPEC("-xarch=v8") DEF_ARCH64_SPEC(AS_SPARC64_FLAG) "}}} \
|
||||
%{!mcpu*:%(asm_cpu_default)} \
|
||||
"
|
||||
|
||||
@ -364,3 +370,4 @@ __enable_execute_stack (addr) \
|
||||
fprintf (FILE, "\n"); \
|
||||
} while (0)
|
||||
|
||||
#endif
|
||||
|
138
gcc/configure
vendored
138
gcc/configure
vendored
@ -1337,7 +1337,7 @@ else
|
||||
fi
|
||||
|
||||
# Find some useful tools
|
||||
for ac_prog in gawk mawk nawk awk
|
||||
for ac_prog in mawk gawk nawk awk
|
||||
do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
@ -5990,7 +5990,7 @@ for machine in $build $host $target; do
|
||||
xmake_file=sparc/x-sysv4
|
||||
extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
|
||||
case $machine in
|
||||
*-*-solaris2.[0-6]*) ;;
|
||||
*-*-solaris2.[0-6] | *-*-solaris2.[0-6].*) ;;
|
||||
*-*-solaris2*)
|
||||
tm_file=sparc/sol2-sld-64.h
|
||||
tmake_file="$tmake_file sparc/t-sol2-64"
|
||||
@ -8602,60 +8602,120 @@ case "$target" in
|
||||
sparc*-*-*)
|
||||
echo $ac_n "checking assembler .register pseudo-op support""... $ac_c" 1>&6
|
||||
echo "configure:8605: checking assembler .register pseudo-op support" >&5
|
||||
gcc_cv_as_register_pseudo_op=
|
||||
if test x$gcc_cv_as != x; then
|
||||
# Check if we have .register
|
||||
echo ".register %g2, #scratch" > conftest.s
|
||||
if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
|
||||
if eval "test \"`echo '$''{'gcc_cv_as_register_pseudo_op'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
||||
gcc_cv_as_register_pseudo_op=unknown
|
||||
if test x$gcc_cv_as != x; then
|
||||
# Check if we have .register
|
||||
echo ".register %g2, #scratch" > conftest.s
|
||||
if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
|
||||
gcc_cv_as_register_pseudo_op=yes
|
||||
cat >> confdefs.h <<\EOF
|
||||
else
|
||||
gcc_cv_as_register_pseudo_op=no
|
||||
fi
|
||||
rm -f conftest.s conftest.o
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
echo "$ac_t""$gcc_cv_as_register_pseudo_op" 1>&6
|
||||
if test "x$gcc_cv_as_register_pseudo_op" = xyes; then
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define HAVE_AS_REGISTER_PSEUDO_OP 1
|
||||
EOF
|
||||
|
||||
fi
|
||||
rm -f conftest.s conftest.o
|
||||
fi
|
||||
echo "$ac_t""$gcc_cv_as_register_pseudo_op" 1>&6
|
||||
|
||||
echo $ac_n "checking assembler offsetable %lo() support""... $ac_c" 1>&6
|
||||
echo "configure:8622: checking assembler offsetable %lo() support" >&5
|
||||
gcc_cv_as_offsetable_lo10=
|
||||
if test x$gcc_cv_as != x; then
|
||||
# Check if assembler has offsetable %lo()
|
||||
echo "or %g1, %lo(ab) + 12, %g1" > conftest.s
|
||||
echo "or %g1, %lo(ab + 12), %g1" > conftest1.s
|
||||
gcc_cv_as_flags64="-xarch=v9"
|
||||
if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s > /dev/null 2>&1; then
|
||||
:
|
||||
else
|
||||
gcc_cv_as_flags64="-64"
|
||||
if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s > /dev/null 2>&1; then
|
||||
:
|
||||
else
|
||||
gcc_cv_as_flags64=""
|
||||
case "$tm_file" in
|
||||
*64*)
|
||||
echo $ac_n "checking for 64 bit support in assembler ($gcc_cv_as)""... $ac_c" 1>&6
|
||||
echo "configure:8635: checking for 64 bit support in assembler ($gcc_cv_as)" >&5
|
||||
if eval "test \"`echo '$''{'gcc_cv_as_flags64'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
||||
if test -n "$gcc_cv_as"; then
|
||||
echo ".xword foo" > conftest.s
|
||||
gcc_cv_as_flags64=no
|
||||
for flag in "-xarch=v9" "64 -Av9"; do
|
||||
if $gcc_cv_as $flag -o conftest.o conftest.s \
|
||||
> /dev/null 2>&1; then
|
||||
gcc_cv_as_flags64=$flag
|
||||
break
|
||||
fi
|
||||
done
|
||||
rm -f conftest.s conftest.o
|
||||
else
|
||||
if test "$gas" = yes; then
|
||||
gcc_cv_as_flags64="-64 -Av9"
|
||||
else
|
||||
gcc_cv_as_flags64="-xarch=v9"
|
||||
fi
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
echo "$ac_t""$gcc_cv_as_flags64" 1>&6
|
||||
if test "x$gcc_cv_as_flags64" = xno; then
|
||||
|
||||
tmake_file=`echo " $tmake_file " | sed -e 's, sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
|
||||
dep_tmake_file=`echo " $dep_tmake_file " | sed -e 's, [^ ]*/config/sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
|
||||
|
||||
else
|
||||
cat >> confdefs.h <<EOF
|
||||
#define AS_SPARC64_FLAG "$gcc_cv_as_flags64"
|
||||
EOF
|
||||
|
||||
fi
|
||||
if test -n "$gcc_cv_as_flags64" ; then
|
||||
if $gcc_cv_as $gcc_cv_as_flags64 -o conftest1.o conftest1.s > /dev/null 2>&1; then
|
||||
if cmp conftest.o conftest1.o > /dev/null 2>&1; then
|
||||
:
|
||||
else
|
||||
gcc_cv_as_offsetable_lo10=yes
|
||||
cat >> confdefs.h <<\EOF
|
||||
;;
|
||||
*) gcc_cv_as_flags64=${gcc_cv_as_flags64-no}
|
||||
;;
|
||||
esac
|
||||
|
||||
if test "x$gcc_cv_as_flags64" != xno; then
|
||||
echo $ac_n "checking for assembler offsetable %lo() support""... $ac_c" 1>&6
|
||||
echo "configure:8680: checking for assembler offsetable %lo() support" >&5
|
||||
if eval "test \"`echo '$''{'gcc_cv_as_offsetable_lo10'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
||||
gcc_cv_as_offsetable_lo10=unknown
|
||||
if test "x$gcc_cv_as" != x; then
|
||||
# Check if assembler has offsetable %lo()
|
||||
echo "or %g1, %lo(ab) + 12, %g1" > conftest.s
|
||||
echo "or %g1, %lo(ab + 12), %g1" > conftest1.s
|
||||
if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s \
|
||||
> /dev/null 2>&1 &&
|
||||
$gcc_cv_as $gcc_cv_as_flags64 -o conftest1.o conftest1.s \
|
||||
> /dev/null 2>&1; then
|
||||
if cmp conftest.o conftest1.o > /dev/null 2>&1; then
|
||||
gcc_cv_as_offsetable_lo10=no
|
||||
else
|
||||
gcc_cv_as_offsetable_lo10=yes
|
||||
fi
|
||||
else
|
||||
gcc_cv_as_offsetable_lo10=no
|
||||
fi
|
||||
rm -f conftest.s conftest.o conftest1.s conftest1.o
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
echo "$ac_t""$gcc_cv_as_offsetable_lo10" 1>&6
|
||||
if test "x$gcc_cv_as_offsetable_lo10" = xyes; then
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define HAVE_AS_OFFSETABLE_LO10 1
|
||||
EOF
|
||||
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
rm -f conftest.s conftest.o conftest1.s conftest1.o
|
||||
fi
|
||||
echo "$ac_t""$gcc_cv_as_offsetable_lo10" 1>&6
|
||||
;;
|
||||
|
||||
i[34567]86-*-*)
|
||||
echo $ac_n "checking assembler instructions""... $ac_c" 1>&6
|
||||
echo "configure:8659: checking assembler instructions" >&5
|
||||
echo "configure:8719: checking assembler instructions" >&5
|
||||
gcc_cv_as_instructions=
|
||||
if test x$gcc_cv_as != x; then
|
||||
set "filds fists" "filds mem; fists mem"
|
||||
|
110
gcc/configure.in
110
gcc/configure.in
@ -3309,7 +3309,7 @@ changequote([,])dnl
|
||||
extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
|
||||
case $machine in
|
||||
changequote(,)dnl
|
||||
*-*-solaris2.[0-6]*) ;;
|
||||
*-*-solaris2.[0-6] | *-*-solaris2.[0-6].*) ;;
|
||||
changequote([,])dnl
|
||||
*-*-solaris2*)
|
||||
tm_file=sparc/sol2-sld-64.h
|
||||
@ -4324,49 +4324,87 @@ AC_MSG_RESULT($gcc_cv_as_subsections)
|
||||
|
||||
case "$target" in
|
||||
sparc*-*-*)
|
||||
AC_MSG_CHECKING(assembler .register pseudo-op support)
|
||||
gcc_cv_as_register_pseudo_op=
|
||||
if test x$gcc_cv_as != x; then
|
||||
# Check if we have .register
|
||||
echo ".register %g2, #scratch" > conftest.s
|
||||
if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
|
||||
AC_CACHE_CHECK([assembler .register pseudo-op support],
|
||||
gcc_cv_as_register_pseudo_op, [
|
||||
gcc_cv_as_register_pseudo_op=unknown
|
||||
if test x$gcc_cv_as != x; then
|
||||
# Check if we have .register
|
||||
echo ".register %g2, #scratch" > conftest.s
|
||||
if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
|
||||
gcc_cv_as_register_pseudo_op=yes
|
||||
AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP)
|
||||
else
|
||||
gcc_cv_as_register_pseudo_op=no
|
||||
fi
|
||||
rm -f conftest.s conftest.o
|
||||
fi
|
||||
rm -f conftest.s conftest.o
|
||||
])
|
||||
if test "x$gcc_cv_as_register_pseudo_op" = xyes; then
|
||||
AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP)
|
||||
fi
|
||||
AC_MSG_RESULT($gcc_cv_as_register_pseudo_op)
|
||||
|
||||
AC_MSG_CHECKING([assembler offsetable %lo() support])
|
||||
gcc_cv_as_offsetable_lo10=
|
||||
if test x$gcc_cv_as != x; then
|
||||
# Check if assembler has offsetable %lo()
|
||||
echo "or %g1, %lo(ab) + 12, %g1" > conftest.s
|
||||
echo "or %g1, %lo(ab + 12), %g1" > conftest1.s
|
||||
gcc_cv_as_flags64="-xarch=v9"
|
||||
if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s > /dev/null 2>&1; then
|
||||
:
|
||||
else
|
||||
gcc_cv_as_flags64="-64"
|
||||
if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s > /dev/null 2>&1; then
|
||||
:
|
||||
else
|
||||
gcc_cv_as_flags64=""
|
||||
fi
|
||||
fi
|
||||
if test -n "$gcc_cv_as_flags64" ; then
|
||||
if $gcc_cv_as $gcc_cv_as_flags64 -o conftest1.o conftest1.s > /dev/null 2>&1; then
|
||||
if cmp conftest.o conftest1.o > /dev/null 2>&1; then
|
||||
:
|
||||
else
|
||||
gcc_cv_as_offsetable_lo10=yes
|
||||
AC_DEFINE(HAVE_AS_OFFSETABLE_LO10)
|
||||
case "$tm_file" in
|
||||
*64*)
|
||||
AC_CACHE_CHECK([for 64 bit support in assembler ($gcc_cv_as)],
|
||||
gcc_cv_as_flags64, [
|
||||
if test -n "$gcc_cv_as"; then
|
||||
echo ".xword foo" > conftest.s
|
||||
gcc_cv_as_flags64=no
|
||||
for flag in "-xarch=v9" "64 -Av9"; do
|
||||
if $gcc_cv_as $flag -o conftest.o conftest.s \
|
||||
> /dev/null 2>&1; then
|
||||
gcc_cv_as_flags64=$flag
|
||||
break
|
||||
fi
|
||||
done
|
||||
rm -f conftest.s conftest.o
|
||||
else
|
||||
if test "$gas" = yes; then
|
||||
gcc_cv_as_flags64="-64 -Av9"
|
||||
else
|
||||
gcc_cv_as_flags64="-xarch=v9"
|
||||
fi
|
||||
fi
|
||||
])
|
||||
if test "x$gcc_cv_as_flags64" = xno; then
|
||||
changequote(, )
|
||||
tmake_file=`echo " $tmake_file " | sed -e 's, sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
|
||||
dep_tmake_file=`echo " $dep_tmake_file " | sed -e 's, [^ ]*/config/sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
|
||||
changequote([, ])
|
||||
else
|
||||
AC_DEFINE_UNQUOTED(AS_SPARC64_FLAG, "$gcc_cv_as_flags64")
|
||||
fi
|
||||
;;
|
||||
*) gcc_cv_as_flags64=${gcc_cv_as_flags64-no}
|
||||
;;
|
||||
esac
|
||||
|
||||
if test "x$gcc_cv_as_flags64" != xno; then
|
||||
AC_CACHE_CHECK([for assembler offsetable %lo() support],
|
||||
gcc_cv_as_offsetable_lo10, [
|
||||
gcc_cv_as_offsetable_lo10=unknown
|
||||
if test "x$gcc_cv_as" != x; then
|
||||
# Check if assembler has offsetable %lo()
|
||||
echo "or %g1, %lo(ab) + 12, %g1" > conftest.s
|
||||
echo "or %g1, %lo(ab + 12), %g1" > conftest1.s
|
||||
if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s \
|
||||
> /dev/null 2>&1 &&
|
||||
$gcc_cv_as $gcc_cv_as_flags64 -o conftest1.o conftest1.s \
|
||||
> /dev/null 2>&1; then
|
||||
if cmp conftest.o conftest1.o > /dev/null 2>&1; then
|
||||
gcc_cv_as_offsetable_lo10=no
|
||||
else
|
||||
gcc_cv_as_offsetable_lo10=yes
|
||||
fi
|
||||
else
|
||||
gcc_cv_as_offsetable_lo10=no
|
||||
fi
|
||||
rm -f conftest.s conftest.o conftest1.s conftest1.o
|
||||
fi
|
||||
])
|
||||
if test "x$gcc_cv_as_offsetable_lo10" = xyes; then
|
||||
AC_DEFINE(HAVE_AS_OFFSETABLE_LO10)
|
||||
fi
|
||||
rm -f conftest.s conftest.o conftest1.s conftest1.o
|
||||
fi
|
||||
AC_MSG_RESULT($gcc_cv_as_offsetable_lo10)
|
||||
;;
|
||||
|
||||
changequote(,)dnl
|
||||
|
Loading…
Reference in New Issue
Block a user