This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
[v3, build, doc, testsuite] Remove obsolete Solaris 7 support
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: gcc-patches at gcc dot gnu dot org
- Cc: libstdc++ at gcc dot gnu dot org
- Date: Thu, 08 Apr 2010 17:20:16 +0200
- Subject: [v3, build, doc, testsuite] Remove obsolete Solaris 7 support
The following patch implements the announced removal of Solaris 7
support. Nothing spectacular; I've just removed any reference to it
except from a few instances in install.texi where they are still
technically correct.
I don't think I need approval, except perhaps for the testsuite and
libstdc++ parts, which should be obvious.
Tested by configuring for i386-pc-solaris2.7 and verifying that the gcc
configure fails as expected, and a bootstrap on i386-pc-solaris2.10
without regressions.
Ok for mainline?
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
2010-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
gcc:
* config.gcc: Removed *-*-solaris2.7* from list of obsolete
configurations.
Add to unsupported targets list.
* configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
sparc*-sun-solaris2.[567]* from target lists.
* configure: Regenerate.
* doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
removal.
Remove Solaris 7 patch references.
(Specific, sparc-sun-solaris2.7): Removed.
(sparc-sun-solaris2*): Update Solaris 7 example.
(sparc64-*-solaris2*): Likewise.
gcc/testsuite:
* g++.dg/warn/miss-format-1.C: Removed *-*-solaris2.7 from
dg-error, dg-warning.
* gcc.dg/c99-stdint-6.c: Removed *-*-solaris2.7 from dg-options.
libstdc++-v3:
* configure.host (os_include_dir): Removed solaris2.7 support.
* crossconfig.m4 (GLIBCXX_CROSSCONFIG): Likewise.
* configure: Regenerate.
diff -r 044baaae5071 gcc/config.gcc
--- a/gcc/config.gcc Wed Apr 07 14:58:16 2010 +0200
+++ b/gcc/config.gcc Thu Apr 08 12:58:50 2010 +0200
@@ -211,7 +211,6 @@
| alpha*-dec-osf5.0* \
| mips-sgi-irix5* \
| mips-sgi-irix6.[0-4]* \
- | *-*-solaris2.7* \
)
if test "x$enable_obsolete" != xyes; then
echo "*** Configuration ${target} is obsolete." >&2
@@ -238,8 +237,8 @@
| *-*-linux*oldld* \
| *-*-rtemsaout* \
| *-*-rtemscoff* \
- | *-*-solaris2.[0-6] \
- | *-*-solaris2.[0-6].* \
+ | *-*-solaris2.[0-7] \
+ | *-*-solaris2.[0-7].* \
| *-*-sysv* \
| vax-*-vms* \
)
diff -r 044baaae5071 gcc/configure.ac
--- a/gcc/configure.ac Wed Apr 07 14:58:16 2010 +0200
+++ b/gcc/configure.ac Thu Apr 08 12:58:50 2010 +0200
@@ -2618,7 +2618,7 @@
;;
i[34567]86-*-*)
case "$target" in
- i[34567]86-*-solaris2.[56789]*)
+ i[34567]86-*-solaris2.[89]*)
# TLS was introduced in the Solaris 9 4/04 release but
# we do not enable it by default on Solaris 9 either.
if test "x$enable_tls" = xyes ; then
@@ -2844,7 +2844,7 @@
;;
sparc*-*-*)
case "$target" in
- sparc*-sun-solaris2.[56789]*)
+ sparc*-sun-solaris2.[89]*)
# TLS was introduced in the Solaris 9 4/04 release but
# we do not enable it by default on Solaris 9 either.
if test "x$enable_tls" = xyes ; then
diff -r 044baaae5071 gcc/doc/install.texi
--- a/gcc/doc/install.texi Wed Apr 07 14:58:16 2010 +0200
+++ b/gcc/doc/install.texi Thu Apr 08 12:58:50 2010 +0200
@@ -2953,8 +2953,6 @@
@item
@uref{#sparc-sun-solaris2,,sparc-sun-solaris2*}
@item
-@uref{#sparc-sun-solaris27,,sparc-sun-solaris2.7}
-@item
@uref{#sparc-sun-solaris210,,sparc-sun-solaris2.10}
@item
@uref{#sparc-x-linux,,sparc-*-linux*}
@@ -4087,9 +4085,7 @@
@c alone is too unspecific and must be avoided.
@heading @anchor{x-x-solaris2}*-*-solaris2*
-Support for Solaris 7 has been obsoleted in GCC 4.5, but can still be
-enabled by configuring with @option{--enable-obsolete}. Support will be
-removed in GCC 4.6.
+Support for Solaris 7 has been removed in GCC 4.6.
Sun does not ship a C compiler with Solaris 2, though you can download
the Sun Studio compilers for free from
@@ -4157,8 +4153,7 @@
@option{-fpermissive}; it will assume that any missing type is @code{int}
(as defined by C90).
-There are patches for Solaris 7 (108376-21 or newer for SPARC,
-108377-20 for Intel), and Solaris 8 (108652-24 or newer for SPARC,
+There are patches for Solaris 8 (108652-24 or newer for SPARC,
108653-22 for Intel) that fix this bug.
Sun bug 4927647 sometimes causes random spurious testsuite failures
@@ -4229,78 +4224,11 @@
must be specified as the @command{build} parameter on the configure
line. This triplet can be obtained by invoking @command{./config.guess} in
the toplevel source directory of GCC (and not that of GMP or MPFR).
-For example on a Solaris 7 system:
-
-@smallexample
- % ./configure --build=sparc-sun-solaris2.7 --prefix=xxx
-@end smallexample
-
-@html
-<hr />
-@end html
-@heading @anchor{sparc-sun-solaris27}sparc-sun-solaris2.7
-
-@emph{Note} that this configuration has been obsoleted in GCC 4.5, and will be
-removed in GCC 4.6.
-
-Sun patch 107058-01 (1999-01-13) for Solaris 7/SPARC triggers a bug in
-the dynamic linker. This problem (Sun bug 4210064) affects GCC 2.8
-and later, including all EGCS releases. Sun formerly recommended
-107058-01 for all Solaris 7 users, but around 1999-09-01 it started to
-recommend it only for people who use Sun's compilers.
-
-Here are some workarounds to this problem:
-@itemize @bullet
-@item
-Do not install Sun patch 107058-01 until after Sun releases a
-complete patch for bug 4210064. This is the simplest course to take,
-unless you must also use Sun's C compiler. Unfortunately 107058-01
-is preinstalled on some new Solaris 7-based hosts, so you may have to
-back it out.
-
-@item
-Copy the original, unpatched Solaris 7
-@command{/usr/ccs/bin/as} into
-@command{/usr/local/libexec/gcc/sparc-sun-solaris2.7/3.4/as},
-adjusting the latter name to fit your local conventions and software
-version numbers.
-
-@item
-Install Sun patch 106950-03 (1999-05-25) or later. Nobody with
-both 107058-01 and 106950-03 installed has reported the bug with GCC
-and Sun's dynamic linker. This last course of action is riskiest,
-for two reasons. First, you must install 106950 on all hosts that
-run code generated by GCC; it doesn't suffice to install it only on
-the hosts that run GCC itself. Second, Sun says that 106950-03 is
-only a partial fix for bug 4210064, but Sun doesn't know whether the
-partial fix is adequate for GCC@. Revision -08 or later should fix
-the bug. The current (as of 2004-05-23) revision is -24, and is included in
-the Solaris 7 Recommended Patch Cluster.
-@end itemize
-
-GCC 3.3 triggers a bug in version 5.0 Alpha 03/27/98 of the Sun assembler,
-which causes a bootstrap failure when linking the 64-bit shared version of
-@samp{libgcc}. A typical error message is:
-
-@smallexample
-ld: fatal: relocation error: R_SPARC_32: file libgcc/sparcv9/_muldi3.o:
- symbol <unknown>: offset 0xffffffff7ec133e7 is non-aligned.
-@end smallexample
-
-@noindent
-This bug has been fixed in the final 5.0 version of the assembler.
-
-A similar problem was reported for version Sun WorkShop 6 99/08/18 of the
-Sun assembler, which causes a bootstrap failure with GCC 4.0.0:
-
-@smallexample
-ld: fatal: relocation error: R_SPARC_DISP32:
- file .libs/libstdc++.lax/libsupc++convenience.a/vterminate.o:
- symbol <unknown>: offset 0xfccd33ad is non-aligned
-@end smallexample
-
-@noindent
-This bug has been fixed in more recent revisions of the assembler.
+For example on a Solaris 9 system:
+
+@smallexample
+ % ./configure --build=sparc-sun-solaris2.9 --prefix=xxx
+@end smallexample
@html
<hr />
@@ -4336,10 +4264,10 @@
When configuring the GNU Multiple Precision Library (GMP) or the
MPFR library, the canonical target triplet must be specified as
the @command{build} parameter on the configure line. For example
-on a Solaris 7 system:
-
-@smallexample
- % ./configure --build=sparc64-sun-solaris2.7 --prefix=xxx
+on a Solaris 9 system:
+
+@smallexample
+ % ./configure --build=sparc64-sun-solaris2.9 --prefix=xxx
@end smallexample
The following compiler flags must be specified in the configure
diff -r 044baaae5071 gcc/testsuite/g++.dg/warn/miss-format-1.C
--- a/gcc/testsuite/g++.dg/warn/miss-format-1.C Wed Apr 07 14:58:16 2010 +0200
+++ b/gcc/testsuite/g++.dg/warn/miss-format-1.C Thu Apr 08 12:58:50 2010 +0200
@@ -4,7 +4,7 @@
/* { dg-options "-Wmissing-format-attribute" } */
/* { dg-options "-Wmissing-format-attribute -Wno-abi" { target arm_eabi } } */
/* VxWorks does not provide vscanf, either in kernel or RTP mode. */
-/* { dg-error "not declared" "" { target *-*-solaris2.[7-8] *-*-vxworks* } 25 } */
+/* { dg-error "not declared" "" { target *-*-solaris2.8 *-*-vxworks* } 25 } */
#include <stdio.h>
#include <stdarg.h>
@@ -23,7 +23,7 @@
{
va_list ap;
va_start (ap, fmt);
- vscanf (fmt, ap); /* { dg-warning "candidate" "scanf attribute warning" { xfail *-*-solaris2.[7-8] *-*-vxworks* } } */
+ vscanf (fmt, ap); /* { dg-warning "candidate" "scanf attribute warning" { xfail *-*-solaris2.8 *-*-vxworks* } } */
va_end (ap);
}
diff -r 044baaae5071 gcc/testsuite/gcc.dg/c99-stdint-6.c
--- a/gcc/testsuite/gcc.dg/c99-stdint-6.c Wed Apr 07 14:58:16 2010 +0200
+++ b/gcc/testsuite/gcc.dg/c99-stdint-6.c Thu Apr 08 12:58:50 2010 +0200
@@ -2,7 +2,7 @@
with any system <inttypes.h> header. */
/* { dg-do compile { target inttypes_types } } */
/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
-/* { dg-options "-std=gnu99 -pedantic-errors -DNO_FAST_TYPES" { target *-*-solaris2.[789]* } } */
+/* { dg-options "-std=gnu99 -pedantic-errors -DNO_FAST_TYPES" { target *-*-solaris2.[89]* } } */
/* { dg-options "-std=gnu99 -pedantic-errors -DNO_LEAST_TYPES -DNO_FAST_TYPES -DNO_MAX_TYPES" { target alpha*-dec-osf5* } } */
#include <inttypes.h>
diff -r 044baaae5071 libstdc++-v3/configure.host
--- a/libstdc++-v3/configure.host Wed Apr 07 14:58:16 2010 +0200
+++ b/libstdc++-v3/configure.host Thu Apr 08 12:58:50 2010 +0200
@@ -274,7 +274,7 @@
echo "Please specify the full version of Solaris, ie. solaris2.9 " 1>&2
exit 1
;;
- solaris2.[789] | solaris2.1[0-9])
+ solaris2.[89] | solaris2.1[0-9])
os_include_dir="os/solaris/solaris2.7"
;;
tpf)
diff -r 044baaae5071 libstdc++-v3/crossconfig.m4
--- a/libstdc++-v3/crossconfig.m4 Wed Apr 07 14:58:16 2010 +0200
+++ b/libstdc++-v3/crossconfig.m4 Thu Apr 08 12:58:50 2010 +0200
@@ -200,7 +200,7 @@
;;
*-solaris*)
case "$target" in
- *-solaris2.7 | *-solaris2.8 | *-solaris2.9 | *-solaris2.10)
+ *-solaris2.8 | *-solaris2.9 | *-solaris2.10)
GLIBCXX_CHECK_LINKER_FEATURES
AC_DEFINE(HAVE_MBSTATE_T)
AC_DEFINE(HAVE_FINITE)