This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]