aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2002-04-12 16:02:45 -0700
committerRichard Henderson <rth@gcc.gnu.org>2002-04-12 16:02:45 -0700
commit3fc602a055c3442625a6238df059928681605033 (patch)
tree382d6ed5de207c7f602d15756e5d3615dc26d066
parent2f15e255eda3a0ef4e8f07c0176198ec0a1be7c5 (diff)
downloadgcc-3fc602a055c3442625a6238df059928681605033.zip
gcc-3fc602a055c3442625a6238df059928681605033.tar.gz
gcc-3fc602a055c3442625a6238df059928681605033.tar.bz2
config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
* config.gcc (sparcv9-*-solaris2): Default to 32-bit code. (sparc*-*-solaris): Clean up header files. * configure.in (AS_SPARC64_FLAG): Error out if can't find it and plan on generating 64-bit code. * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2. * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code. * config/sparc/sol2-sld-64.h: Rename ... * config/sparc/sol2-bi.h: ... here. Remove the bits that checked for AS_SPARC64_FLAG not defined. * config/sparc/sol2-gld-bi.h: New. * config/sparc/sol2-sld.h: Remove. * config/sparc/sol26-sld.h: New. * config/sparc/sol2.h: Tidy comments. * doc/install.texi: Document sparc-solaris configury changes. From-SVN: r52251
-rw-r--r--gcc/ChangeLog17
-rw-r--r--gcc/config.gcc39
-rw-r--r--gcc/config/sparc/sol2-64.h25
-rw-r--r--gcc/config/sparc/sol2-bi.h (renamed from gcc/config/sparc/sol2-sld-64.h)81
-rw-r--r--gcc/config/sparc/sol2-gld-bi.h9
-rw-r--r--gcc/config/sparc/sol2-sld.h9
-rw-r--r--gcc/config/sparc/sol2.h8
-rw-r--r--gcc/config/sparc/sol26-sld.h6
-rwxr-xr-xgcc/configure26
-rw-r--r--gcc/configure.in10
-rw-r--r--gcc/doc/install.texi12
-rw-r--r--gcc/toplev.c2
12 files changed, 95 insertions, 149 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8056982..25d865e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,22 @@
2002-04-12 Richard Henderson <rth@redhat.com>
+ * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
+ (sparc*-*-solaris): Clean up header files.
+ * configure.in (AS_SPARC64_FLAG): Error out if can't find it
+ and plan on generating 64-bit code.
+ * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
+ * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
+ * config/sparc/sol2-sld-64.h: Rename ...
+ * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
+ for AS_SPARC64_FLAG not defined.
+ * config/sparc/sol2-gld-bi.h: New.
+ * config/sparc/sol2-sld.h: Remove.
+ * config/sparc/sol26-sld.h: New.
+ * config/sparc/sol2.h: Tidy comments.
+ * doc/install.texi: Document sparc-solaris configury changes.
+
+2002-04-12 Richard Henderson <rth@redhat.com>
+
* recog.c (offsettable_address_p): Match the logic in adjust_address.
* config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 4121306..844e79b 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -3070,12 +3070,10 @@ sparc-*-rtems*|sparc-*-rtemself*)
thread_file='rtems'
fi
;;
-sparcv9-*-solaris2* | sparc64-*-solaris2*)
- if test x$gnu_ld = xyes
- then
- tm_file="sparc/sol2-sld-64.h sparc/sol2-64.h sparc/sol2-gld.h"
- else
- tm_file=sparc/sol2-sld-64.h
+sparc64-*-solaris2*)
+ tm_file="sparc/biarch64.h sparc/sol2-64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/sol2-bi.h"
+ if test x$gnu_ld = xyes; then
+ tm_file="${tm_file} sparc/sol2-gld.h sparc/sol2-gld-bi.h"
fi
xm_defines=POSIX
tmake_file="sparc/t-sol2 sparc/t-sol2-64 sparc/t-crtfm"
@@ -3121,33 +3119,32 @@ sparc-hal-solaris2*)
esac
thread_file='solaris'
;;
-sparc-*-solaris2*)
- if test x$gnu_ld = xyes
- then
- tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/sol2-gld.h"
- else
- tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/sol2-sld.h"
+sparc-*-solaris2* | sparcv9-*-solaris2*)
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h"
+ if test x$gnu_ld = xyes; then
+ tm_file="${tm_file} sparc/sol2-gld.h"
fi
- xm_defines=POSIX
tmake_file="sparc/t-sol2 sparc/t-crtfm"
if test x$gnu_ld = xyes; then
tmake_file="$tmake_file t-slibgcc-elf-ver"
else
tmake_file="$tmake_file t-slibgcc-sld"
fi
- 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*)
- if test x$gnu_ld = xyes
- then
- tm_file="sparc/sol2-sld-64.h sparc/sol2-64.h sparc/sol2-gld.h"
- else
- tm_file="sparc/sol2-sld-64.h"
+ sparcv9-*)
+ tm_file="sparc/biarch64.h ${tm_file} sparc/sol2-bi.h"
+ if test x$gnu_ld = xyes; then
+ tm_file="${tm_file} sparc/sol2-gld-bi.h"
fi
tmake_file="$tmake_file sparc/t-sol2-64"
;;
+ *-*-solaris2.[0-6] | *-*-solaris2.[0-6].*)
+ if test x$gnu_ld = xno; then
+ tm_file="${tm_file} sparc/sol26-sld.h"
+ fi
esac
+ xm_defines=POSIX
+ extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
case $machine in
*-*-solaris2.[0-4])
float_format=i128
diff --git a/gcc/config/sparc/sol2-64.h b/gcc/config/sparc/sol2-64.h
index 40db497..ccdc8f3 100644
--- a/gcc/config/sparc/sol2-64.h
+++ b/gcc/config/sparc/sol2-64.h
@@ -1,20 +1,7 @@
-/* Definitions of target machine for GNU compiler, for 64-bit SPARC
- running Solaris 2 using the GNU linker. */
+/* Definitions of target machine for GNU compiler, for bi-arch SPARC
+ running Solaris 2, defaulting to 64-bit code generation. */
-#ifdef LINKER_DOES_NOT_WORK_WITH_DWARF2
-#undef LINKER_DOES_NOT_WORK_WITH_DWARF2
-#endif
-
-#ifdef AS_SPARC64_FLAG
-
-#ifdef LINK_ARCH_SPEC
-#undef LINK_ARCH_SPEC
-#endif
-
-#define LINK_ARCH_SPEC "\
-%{m32:-m elf32_sparc %(link_arch32)} \
-%{m64:-m elf64_sparc %(link_arch64)} \
-%{!m32:%{!m64:%(link_arch_default)}} \
-"
-
-#endif
+#undef TARGET_DEFAULT
+#define TARGET_DEFAULT \
+ (MASK_V9 + MASK_PTR64 + MASK_64BIT /* + MASK_HARD_QUAD */ + \
+ MASK_STACK_BIAS + MASK_FPU + MASK_LONG_DOUBLE_128)
diff --git a/gcc/config/sparc/sol2-sld-64.h b/gcc/config/sparc/sol2-bi.h
index 2a8eafc..63a4d66 100644
--- a/gcc/config/sparc/sol2-sld-64.h
+++ b/gcc/config/sparc/sol2-bi.h
@@ -1,35 +1,6 @@
-/* Definitions of target machine for GNU compiler, for 64-bit SPARC
+/* Definitions of target machine for GNU compiler, for bi-arch SPARC
running Solaris 2 using the system linker. */
-#ifdef AS_SPARC64_FLAG
-#include "sparc/biarch64.h"
-#endif
-
-#include "sparc/sparc.h"
-#include "dbxelf.h"
-#include "elfos.h"
-#include "svr4.h"
-#include "sparc/sysv4.h"
-#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
- to unaligned data. */
-
-#define LINKER_DOES_NOT_WORK_WITH_DWARF2
-
-/* A 64 bit v9 compiler with stack-bias */
-
-#if TARGET_CPU_DEFAULT == TARGET_CPU_v9 || TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc
-#undef TARGET_DEFAULT
-#define TARGET_DEFAULT \
- (MASK_V9 + MASK_PTR64 + MASK_64BIT /* + MASK_HARD_QUAD */ + \
- MASK_STACK_BIAS + MASK_FPU + MASK_LONG_DOUBLE_128)
-#endif
-
/* The default code model. */
#undef SPARC_DEFAULT_CMODEL
#define SPARC_DEFAULT_CMODEL CM_MEDANY
@@ -107,8 +78,6 @@
%{ansi:/usr/lib/sparcv9/values-Xc.o%s} \
%{!ansi:/usr/lib/sparcv9/values-Xa.o%s}"
-#ifdef SPARC_BI_ARCH
-
#if DEFAULT_ARCH32_P
#define STARTFILE_ARCH_SPEC "\
%{m32:" STARTFILE_SPEC32 "} \
@@ -121,13 +90,6 @@
%{!m32:%{!m64:" STARTFILE_SPEC64 "}}"
#endif
-#else /* !SPARC_BI_ARCH */
-
-/* In this case we define MD_STARTFILE_PREFIX to /usr/lib/sparcv9/ */
-#define STARTFILE_ARCH_SPEC STARTFILE_SPEC32
-
-#endif /* !SPARC_BI_ARCH */
-
#undef STARTFILE_SPEC
#define STARTFILE_SPEC "%{!shared: \
%{!symbolic: \
@@ -138,8 +100,6 @@
crti.o%s " STARTFILE_ARCH_SPEC " \
crtbegin.o%s"
-#ifdef SPARC_BI_ARCH
-
#undef CPP_CPU_DEFAULT_SPEC
#define CPP_CPU_DEFAULT_SPEC \
(DEFAULT_ARCH32_P ? "\
@@ -295,37 +255,8 @@
#define MULTILIB_DEFAULTS { "m64" }
#endif
-#else /* !SPARC_BI_ARCH */
-
-/*
- * This should be the same as in sol2-sld.h, except with "/sparcv9"
- * appended to the paths and /usr/ccs/lib is no longer necessary
- */
-#undef LINK_SPEC
-#define LINK_SPEC \
- "%{h*} %{v:-V} \
- %{b} %{Wl,*:%*} \
- %{static:-dn -Bstatic} \
- %{shared:-G -dy %{!mimpure-text:-z text}} \
- %{symbolic:-Bsymbolic -G -dy -z text} \
- %{mcmodel=medlow:-M /usr/lib/ld/sparcv9/map.below4G} \
- %{G:-G} \
- %{YP,*} \
- %{R*} \
- %{compat-bsd: \
- %{!YP,*:%{p:-Y P,/usr/ucblib/sparcv9:/usr/lib/libp/sparcv9:/usr/lib/sparcv9} \
- %{pg:-Y P,/usr/ucblib/sparcv9:/usr/lib/libp/sparcv9:/usr/lib/sparcv9} \
- %{!p:%{!pg:-Y P,/usr/ucblib/sparcv9:/usr/lib/sparcv9}}} \
- -R /usr/ucblib} \
- %{!compat-bsd: \
- %{!YP,*:%{p:-Y P,/usr/lib/libp/sparcv9:/usr/lib/sparcv9} \
- %{pg:-Y P,/usr/lib/libp/sparcv9:/usr/lib/sparcv9} \
- %{!p:%{!pg:-Y P,/usr/lib/sparcv9}}}} \
- %{Qy:} %{!Qn:-Qy}"
-
-#undef MD_STARTFILE_PREFIX
-#define MD_STARTFILE_PREFIX "/usr/lib/sparcv9/"
-
-#endif /* ! SPARC_BI_ARCH */
-
-#endif
+/* We use stabs-in-elf in 32-bit mode, because that is what the native
+ toolchain uses. But gdb can't handle truncated 32-bit stabs so we
+ use dwarf2 in 64-bit mode. */
+#undef PREFERRED_DEBUGGING_TYPE
+#define PREFERRED_DEBUGGING_TYPE (TARGET_ARCH32 ? DBX_DEBUG : DWARF2_DEBUG)
diff --git a/gcc/config/sparc/sol2-gld-bi.h b/gcc/config/sparc/sol2-gld-bi.h
new file mode 100644
index 0000000..81a1ff2
--- /dev/null
+++ b/gcc/config/sparc/sol2-gld-bi.h
@@ -0,0 +1,9 @@
+/* Definitions of target machine for GNU compiler, for bi-arch SPARC
+ running Solaris 2 using the GNU linker. */
+
+#undef LINK_ARCH_SPEC
+#define LINK_ARCH_SPEC "\
+%{m32:-m elf32_sparc %(link_arch32)} \
+%{m64:-m elf64_sparc %(link_arch64)} \
+%{!m32:%{!m64:%(link_arch_default)}} \
+"
diff --git a/gcc/config/sparc/sol2-sld.h b/gcc/config/sparc/sol2-sld.h
deleted file mode 100644
index 3847fae..0000000
--- a/gcc/config/sparc/sol2-sld.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Definitions of target machine for GNU compiler, for SPARC running Solaris 2
- using the system linker. */
-
-/* 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
- to unaligned data. */
-
-#define LINKER_DOES_NOT_WORK_WITH_DWARF2
diff --git a/gcc/config/sparc/sol2.h b/gcc/config/sparc/sol2.h
index 305129b..69ba9f5 100644
--- a/gcc/config/sparc/sol2.h
+++ b/gcc/config/sparc/sol2.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for SPARC running Solaris 2
- Copyright 1992, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001 Free Software Foundation, Inc.
+ Copyright 1992, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+ Free Software Foundation, Inc.
Contributed by Ron Guilmette (rfg@netcom.com).
Additional changes by David V. Henkel-Wallace (gumby@cygnus.com).
@@ -89,12 +89,12 @@ Boston, MA 02111-1307, USA. */
/* However it appears that Solaris 2.0 uses the same reg numbering as
the old BSD-style system did. */
-#undef DBX_REGISTER_NUMBER
/* Same as sparc.h */
+#undef DBX_REGISTER_NUMBER
#define DBX_REGISTER_NUMBER(REGNO) \
(TARGET_FLAT && (REGNO) == HARD_FRAME_POINTER_REGNUM ? 31 : REGNO)
-/* We use stabs-in-elf for debugging, because that is what the native
+/* We use stabs-in-elf by default, because that is what the native
toolchain uses. */
#undef PREFERRED_DEBUGGING_TYPE
#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
diff --git a/gcc/config/sparc/sol26-sld.h b/gcc/config/sparc/sol26-sld.h
new file mode 100644
index 0000000..74b5433
--- /dev/null
+++ b/gcc/config/sparc/sol26-sld.h
@@ -0,0 +1,6 @@
+/* Up through Solaris 2.6, the system linker does not work with DWARF
+ or DWARF2, since it does not have working support for relocations
+ to unaligned data. */
+
+#undef DWARF_DEBUGGING_INFO
+#undef DWARF2_DEBUGGING_INFO
diff --git a/gcc/configure b/gcc/configure
index 0e14fcf..c2c9423 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -7515,8 +7515,8 @@ EOF
fi
- case "$tm_file" in
- *64*)
+ case "$target" in
+ sparcv9-* | sparc64-*)
echo $ac_n "checking for 64 bit support in assembler ($gcc_cv_as)""... $ac_c" 1>&6
echo "configure:7522: checking for 64 bit support in assembler ($gcc_cv_as)" >&5
if eval "test \"`echo '$''{'gcc_cv_as_flags64'+set}'`\" = set"; then
@@ -7546,10 +7546,8 @@ 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, $,,'`
-
+ { echo "configure: error: Assembler does not support 64-bit compilation." 1>&2; exit 1; }
+ exit 1
else
cat >> confdefs.h <<EOF
#define AS_SPARC64_FLAG "$gcc_cv_as_flags64"
@@ -7563,7 +7561,7 @@ EOF
if test "x$gcc_cv_as_flags64" != xno; then
echo $ac_n "checking for assembler offsetable %lo() support""... $ac_c" 1>&6
-echo "configure:7567: checking for assembler offsetable %lo() support" >&5
+echo "configure:7565: 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
@@ -7603,7 +7601,7 @@ EOF
i[34567]86-*-* | x86_64-*-*)
echo $ac_n "checking assembler instructions""... $ac_c" 1>&6
-echo "configure:7607: checking assembler instructions" >&5
+echo "configure:7605: checking assembler instructions" >&5
gcc_cv_as_instructions=
if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 9 -o "$gcc_cv_gas_major_version" -gt 2; then
@@ -7630,7 +7628,7 @@ EOF
echo "$ac_t""$gcc_cv_as_instructions" 1>&6
echo $ac_n "checking assembler GOTOFF in data directives""... $ac_c" 1>&6
-echo "configure:7634: checking assembler GOTOFF in data directives" >&5
+echo "configure:7632: checking assembler GOTOFF in data directives" >&5
gcc_cv_as_gotoff_in_data=no
if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x
then
@@ -7660,7 +7658,7 @@ EOF
esac
echo $ac_n "checking assembler dwarf2 debug_line support""... $ac_c" 1>&6
-echo "configure:7664: checking assembler dwarf2 debug_line support" >&5
+echo "configure:7662: checking assembler dwarf2 debug_line support" >&5
gcc_cv_as_dwarf2_debug_line=no
# ??? Not all targets support dwarf2 debug_line, even within a version
# of gas. Moreover, we need to emit a valid instruction to trigger any
@@ -7716,7 +7714,7 @@ fi
echo "$ac_t""$gcc_cv_as_dwarf2_debug_line" 1>&6
echo $ac_n "checking assembler --gdwarf2 support""... $ac_c" 1>&6
-echo "configure:7720: checking assembler --gdwarf2 support" >&5
+echo "configure:7718: checking assembler --gdwarf2 support" >&5
gcc_cv_as_gdwarf2_flag=no
if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x;
then
@@ -7745,7 +7743,7 @@ fi
echo "$ac_t""$gcc_cv_as_gdwarf2_flag" 1>&6
echo $ac_n "checking assembler --gstabs support""... $ac_c" 1>&6
-echo "configure:7749: checking assembler --gstabs support" >&5
+echo "configure:7747: checking assembler --gstabs support" >&5
gcc_cv_as_gstabs_flag=no
if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x;
then
@@ -7773,7 +7771,7 @@ fi
echo "$ac_t""$gcc_cv_as_gstabs_flag" 1>&6
echo $ac_n "checking linker PT_GNU_EH_FRAME support""... $ac_c" 1>&6
-echo "configure:7777: checking linker PT_GNU_EH_FRAME support" >&5
+echo "configure:7775: checking linker PT_GNU_EH_FRAME support" >&5
gcc_cv_ld_eh_frame_hdr=no
if test x$gcc_cv_gld_major_version != x -a x$gcc_cv_gld_minor_version != x; then
if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 12 -o "$gcc_cv_gld_major_version" -gt 2 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then
@@ -7936,7 +7934,7 @@ fi
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:7940: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:7938: checking whether to enable maintainer-specific portions of Makefiles" >&5
# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then
enableval="$enable_maintainer_mode"
diff --git a/gcc/configure.in b/gcc/configure.in
index 4dd68db..1a33773 100644
--- a/gcc/configure.in
+++ b/gcc/configure.in
@@ -1794,8 +1794,8 @@ EOF
[Define if your assembler and linker support unaligned PC relative relocs against hidden symbols.])
fi
- case "$tm_file" in
- *64*)
+ case "$target" in
+ sparcv9-* | sparc64-*)
AC_CACHE_CHECK([for 64 bit support in assembler ($gcc_cv_as)],
gcc_cv_as_flags64, [
if test -n "$gcc_cv_as"; then
@@ -1818,10 +1818,8 @@ EOF
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([, ])
+ AC_MSG_ERROR([Assembler does not support 64-bit compilation.])
+ exit 1
else
AC_DEFINE_UNQUOTED(AS_SPARC64_FLAG, "$gcc_cv_as_flags64",
[Define if the assembler supports 64bit sparc.])
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 3e3e258..990db06 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -3464,6 +3464,18 @@ option instead, which should be safe from those bugs and produce code
that, unlike full 64-bit code, can still run on non-UltraSPARC
machines.
+The target tuple @code{sparc-sun-solaris} will be used for
+configurations in which only 32-bit SPARC binaries may be executed;
+@code{sparcv9-sun-solaris} will be used when either 32-bit or 64-bit
+binaries may be executed, but the compiler will produce 32-bit
+binaries unless the @option{-m64} switch is used; @code{sparc64-sun-solaris}
+should be used when the compiler should produce 64-bit binaries
+by default.
+
+Unless otherwise specified, @command{configure} will select either
+@code{sparc} or @code{sparcv9} based on the output of @command{isalist}.
+It will never select @code{sparc64} by default.
+
@html
</p>
<hr>
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 94b2a35..3fe01db 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -3972,7 +3972,7 @@ ignoring option `%s' due to invalid debug level specification",
if (da_len > 1 && strncmp (arg, "gdb", da_len) == 0)
{
-#if defined (DWARF2_DEBUGGING_INFO) && !defined (LINKER_DOES_NOT_WORK_WITH_DWARF2)
+#ifdef DWARF2_DEBUGGING_INFO
type = DWARF2_DEBUG;
#else
#ifdef DBX_DEBUGGING_INFO