From patchwork Mon Mar 12 17:44:24 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rainer Orth X-Patchwork-Id: 146189 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 7392FB6FB6 for ; Tue, 13 Mar 2012 04:45:49 +1100 (EST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1332179149; h=Comment: DomainKey-Signature:Received:Received:Received:Received:Received: Received:Received:From:To:Cc:Subject:Date:Message-ID:User-Agent: MIME-Version:Content-Type:Mailing-List:Precedence:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:Sender: Delivered-To; bh=5c34zVr3v5ImJyOZXXQOrklo7BI=; b=aqf8jJ2FuTiJnKm BnALAZx9zYlgaG0bwJookq2CvzOT4l5uBE7NUvWspNV9B4QlmnK8XYj/dPXRcjwC WZ0M3w1K0LpU3KpXcsKnQRuMkSXFwTcEJqtCL2YrHmHnL+ygyGg0Mbh9aBjI7OAH WHHt6vGyPGHQWlNvKp0JtS1bERB8= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gcc.gnu.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:Received:Received:Received:From:To:Cc:Subject:Date:Message-ID:User-Agent:MIME-Version:Content-Type:X-IsSubscribed:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=ZCoRLIEvnSrHKejVrqBAx47f+qUjAhMNfYo4aEyprYxVfdu1m9mrV8MK2QFlL+ qyGUmKvulpFBdBD3KNTueouzGhHnfqtprhaxxDO28bI8hB4HXlCV2rdFlSu2fJIp gjL1qy4zVlAiZp6camA/OZfH81OA34y9tAg5isz3WHpoc=; Received: (qmail 14975 invoked by alias); 12 Mar 2012 17:45:38 -0000 Received: (qmail 14584 invoked by uid 22791); 12 Mar 2012 17:45:24 -0000 X-SWARE-Spam-Status: No, hits=-0.4 required=5.0 tests=AWL, BAYES_50, TW_CX, TW_DC, TW_TJ, TW_XF, T_RP_MATCHES_RCVD, T_TVD_MIME_NO_HEADERS X-Spam-Check-By: sourceware.org Received: from snape.CeBiTec.Uni-Bielefeld.DE (HELO smtp-relay.CeBiTec.Uni-Bielefeld.DE) (129.70.160.84) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 12 Mar 2012 17:44:55 +0000 Received: from localhost (localhost.CeBiTec.Uni-Bielefeld.DE [127.0.0.1]) by smtp-relay.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTP id 8A0EA4A4; Mon, 12 Mar 2012 18:44:53 +0100 (CET) Received: from smtp-relay.CeBiTec.Uni-Bielefeld.DE ([127.0.0.1]) by localhost (malfoy.CeBiTec.Uni-Bielefeld.DE [127.0.0.1]) (amavisd-new, port 10024) with LMTP id NZcA31dprKLx; Mon, 12 Mar 2012 18:44:24 +0100 (CET) Received: from manam.CeBiTec.Uni-Bielefeld.DE (manam.CeBiTec.Uni-Bielefeld.DE [129.70.161.120]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp-relay.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTPS id A271549D; Mon, 12 Mar 2012 18:44:24 +0100 (CET) Received: (from ro@localhost) by manam.CeBiTec.Uni-Bielefeld.DE (8.14.5+Sun/8.14.5/Submit) id q2CHiOg3025077; Mon, 12 Mar 2012 18:44:24 +0100 (MET) From: Rainer Orth To: gcc-patches@gcc.gnu.org Cc: libstdc++@gcc.gnu.org, java-patches@gcc.gnu.org, Eric Botcazou , Ian Lance Taylor Subject: Remove obsolete Solaris 8 support Date: Mon, 12 Mar 2012 18:44:24 +0100 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (usg-unix-v) MIME-Version: 1.0 X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Since even extended support for Solaris 8 ends by March 31st, this patch removes Solaris 8 support from mainline. Given that extended support for Solaris 9 lasts until October 2014, I guess that will remain in GCC for at least one major release. Again, I don't expect the patch to be controversial, but a few issues bear mention: * Although libgcc/config/sparc/sol2-unwind.h could be simplified quite a bit, perhaps we could go further: I wonder if the remaining nframes = 2 case really applies to Solaris 9. If not, one could massivly simplify this code. * As in the IRIX case, I wonder if removing Solaris 8 support from libgo is a good idea while it still is supported on the 4.7 branch. * In libstdc++, all checks for the presence of overloads can be replaced by hardcoded values. This also allows __CORRECT_ISO_CPP_MATH_H_PROTO2 to be removed and to drop the `1' in __CORRECT_ISO_CPP_MATH_H_PROTO1. * I haven't yet checked if the Solaris references in libstdc++-v3/config/io/basic_file_stdio.cc are correct or also apply to newer versions. This can probably wait for a later time. * libstdc++-v3/doc/xml/manual/internals.xml still has various references to older Solaris versions. I haven't touched those. Bootstrapped without regressions on {i386-pc, sparc-sun}-solaris2.{9, 10, 11} (Solaris 9/SPARC still running). Ok for mainline if that passes (though I guess I don't need approval for most of these changes)? Thanks. Rainer 2012-03-11 Rainer Orth libstdc++-v3: * config/os/solaris/solaris2.8: Rename to ... * config/os/solaris/solaris2.9: ... this. * config/abi/post/solaris2.8: Rename to ... * config/abi/post/solaris2.9: ... this. * configure.host (os_include_dir): Remove solaris2.8. Reflect renaming. (abi_baseline_pair): Remove *-*-solaris2.8. Reflect renaming. * configure.ac (GLIBCXX_CHECK_MATH_PROTO): Remove (GLIBCXX_CHECK_STDLIB_PROTO): Remove. * acinclude.m4 (GLIBCXX_CHECK_MATH_PROTO): Remove (GLIBCXX_CHECK_STDLIB_PROTO): Remove. (GLIBCXX_CHECK_GTHREADS): Remove Solaris 8 handling. * crossconfig.m4 (GLIBCXX_CROSSCONFIG): Remove *-solaris2.8 handling. * configure: Regenerate. * config.h.in: Regenerate. * config/os/solaris/solaris2.9/os_defines.h (__CORRECT_ISO_CPP_MATH_H_PROTO): Define. (__CORRECT_ISO_CPP_STDLIB_H_PROTO): Define. * include/c_global/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1 to __CORRECT_ISO_CPP_MATH_H_PROTO. [!__CORRECT_ISO_CPP_MATH_H_PROTO2]: Remove. * include/tr1/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1 to __CORRECT_ISO_CPP_MATH_H_PROTO. * doc/xml/manual/configure.xml (Configure, --enable-libstdcxx-threads): Remove Solaris 8 reference. * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc: Don't xfail on *-*-solaris2.8. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc: Likewise. * testsuite/ext/enc_filebuf/char/13598.cc: Don't xfail on *-*-solaris2.8. libjava: * configure.ac (THREADLIBS): Remove *-*-solaris2.8 handling. * configure: Regenerate. libgo: * configure.ac (OSCFLAGS): Remove *-*-solaris2.8 handling. (libgo_cv_lib_makecontext_stack_top): Remove sparc*-*-solaris2.8* handling. * configure: Regenerate. libgcc: * config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove Solaris 8 handling. * config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove Solaris 8 handling. (sparc_is_sighandler): Likewise. libcpp: * lex.c: Remove Solaris 8 reference. gcc/testsuite: * g++.dg/warn/miss-format-1.C: Remove *-*-solaris2.8 handling. * gcc.dg/c99-stdint-6.c: Likewise. * gcc.dg/lto/20090210_0.c: Likewise. * gcc.dg/pr28796-2.c: Don't skip on sparc*-sun-solaris2.8. * gcc.dg/pragma-init-fini.c: Don't skip on i?86-*-solaris2.8. * gcc.dg/pragma-init-fini-2.c: Likewise. * gcc.dg/torture/pr47917.c: Remove *-*-solaris2.8 handling. * gcc.target/i386/pr22076.c: Remove i?86-*-solaris2.8 handling. * gcc.target/i386/pr22152.c: Likewise. * gcc.target/i386/vect8-ret.c: Likewise. * lib/target-supports.exp (add_options_for_tls): Remove Solaris 8 handling. gcc: * config.gcc (enable_obsolete): Remove *-*-solaris2.8*. (*-*-solaris2.[0-8], *-*-solaris2.[0-8].*): Mark unsupported. (i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*): Remove Solaris 8 support. * configure.ac (gcc_cv_ld_hidden): Remove *-*-solaris2.8*. (ld_tls_support): Remove Solaris 8 references. (lwp_dir, lwp_spec): Remove support for alternate thread library. * acinclude.m4 (gcc_cv_initfini_array): Remove *-*-solaris2.* tests. * configure: Regenerate. * config.in: Regenerate. * config/sol2.h (LINK_SPEC): Remove LIB_THREAD_LDFLAGS_SPEC. * config/i386/sol2.h: Remove Solaris 8 references. * doc/install.texi (Specific, i?86-*-solaris2.[89]): Rename to ... (i?86-*-solaris2.9): ... this. Remove Solaris 8 references. (Specific, *-*-solaris2*): Document Solaris 8 removal. Remove Solaris 8 references. fixincludes: * inclhack.def (math_exception): Remove duplicate. (solaris_cond_init): Remove. (solaris_sys_va_list): Remove Solaris 8 support. * fixincl.x: Regenerate. * tests/base/pthread.h [SOLARIS_COND_INIT_CHECK]: Remove. # HG changeset patch # Parent 70d9a4a121c064783ddbabfaf18e606d404a2e3c Remove obsolete Solaris 8 support diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def --- a/fixincludes/inclhack.def +++ b/fixincludes/inclhack.def @@ -2382,7 +2382,7 @@ fix = { files = math.h; select = "struct exception"; /* - * This should be bypassed on __cplusplus, but some supposedly C++ C++ + * This should be bypassed on __cplusplus, but some supposedly C++ * aware headers, such as Solaris 8 and 9, don't wrap their struct * exception either. So currently we bypass only for glibc, based on a * comment in the fixed glibc header. Ick. @@ -2926,26 +2926,6 @@ fix = { /* - * Solaris 8 PTHREAD_COND_INITIALIZER lacks the __pthread_cond_magic field. - * COND_MAGIC is only defined in and pollutes the namespace, so - * use the value literally instead. - */ -fix = { - hackname = solaris_cond_init; - select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; - files = pthread.h; - mach = '*-*-solaris2.8'; - c_fix = format; - c_fix_arg = "%1, 0x4356%2"; - c_fix_arg = "^(#define[ \t]+PTHREAD_COND_INITIALIZER[ \t]+" - "\\{.*0)(\\},[ \t]*0\\}.*)$"; - test_text = - '#pragma ident "@(#)pthread.h 1.29 01/07/07 SMI"'"\n" - '#define PTHREAD_COND_INITIALIZER {{{0}, 0}, 0} /* = DEFAULTCV */'; -}; - - -/* * g++ rejects functions declared with both C and C++ linkage. */ fix = { @@ -3422,13 +3402,13 @@ fix = { /* - * On Solaris 8 and 9, __va_list needs to become a typedef for + * On Solaris 9, __va_list needs to become a typedef for * __builtin_va_list to make -Wmissing-format-attribute work. */ fix = { hackname = solaris_sys_va_list; files = sys/va_list.h; - mach = '*-*-solaris2.[89]'; + mach = '*-*-solaris2.9'; select = "#if.*__STDC__.*\n" "typedef void \\*__va_list;\n" "#else\n" diff --git a/fixincludes/tests/base/pthread.h b/fixincludes/tests/base/pthread.h --- a/fixincludes/tests/base/pthread.h +++ b/fixincludes/tests/base/pthread.h @@ -75,16 +75,6 @@ extern int __sigsetjmp (struct __jmp_buf #endif /* PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_CHECK */ -#if defined( SOLARIS_COND_INIT_CHECK ) -#pragma ident "@(#)pthread.h 1.29 01/07/07 SMI" -#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG) -#define PTHREAD_COND_INITIALIZER {{{0}, 0, 0x4356}, 0} /* = DEFAULTCV */ -#else -#define PTHREAD_COND_INITIALIZER {{{0}, 0, 0x4356}, {0}} /* = DEFAULTCV */ -#endif -#endif /* SOLARIS_COND_INIT_CHECK */ - - #if defined( SOLARIS_MUTEX_INIT_2_CHECK ) #ident "@(#)pthread.h 1.26 98/04/12 SMI" #if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG) diff --git a/gcc/acinclude.m4 b/gcc/acinclude.m4 --- a/gcc/acinclude.m4 +++ b/gcc/acinclude.m4 @@ -461,23 +461,7 @@ changequote([,])dnl # error The C library not known to support .init_array/.fini_array # endif #endif -])],[ - case "${target}" in - *-*-solaris2.8*) - # .init_array/.fini_array support was introduced in Solaris 8 - # patches 109147-08 (sparc) and 109148-08 (x86). Since ld.so.1 and - # ld are guaranteed to be updated in lockstep, we can check ld -V - # instead. Unfortunately, proper ld version numbers were only - # introduced in rev. -14, so we check for that. - if test "$gcc_cv_sun_ld_vers_minor" -lt 272; then - gcc_cv_initfini_array=no - fi - ;; - *-*-solaris2.9* | *-*-solaris2.1[[0-9]]*) - # .init_array/.fini_array support is present since Solaris 9 FCS. - ;; - esac -], [gcc_cv_initfini_array=no]);; +])],, [gcc_cv_initfini_array=no]);; esac else AC_MSG_CHECKING(cross compile... guessing) diff --git a/gcc/config.gcc b/gcc/config.gcc --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -251,7 +251,6 @@ case ${target} in | arm*-*-uclinux* \ | arm*-wince-pe* \ | score-* \ - | *-*-solaris2.8* \ ) if test "x$enable_obsolete" != xyes; then echo "*** Configuration ${target} is obsolete." >&2 @@ -282,9 +281,9 @@ case ${target} in | *-*-rtemsaout* \ | *-*-rtemscoff* \ | *-*-solaris2 \ - | *-*-solaris2.[0-7] \ - | *-*-solaris2.[0-7].* \ - | *-*-sysv* \ + | *-*-solaris2.[0-8] \ + | *-*-solaris2.[0-8].* \ + | *-*-sysv* \ | vax-*-vms* \ ) echo "*** Configuration ${target} not supported" 1>&2 @@ -1320,9 +1319,8 @@ i[34567]86-*-solaris2* | x86_64-*-solari # Set default arch_32 to pentium4, tune_32 to generic like the other # i386 targets, although config.guess defaults to i386-pc-solaris2*. case ${target} in - *-*-solaris2.[89]*) - # Solaris 8 and 9/x86 cannot execute SSE/SSE2 instructions by - # default. + *-*-solaris2.9*) + # Solaris 9/x86 cannot execute SSE/SSE2 instructions by default. with_arch_32=${with_arch_32:-pentiumpro} ;; *) diff --git a/gcc/config/i386/sol2.h b/gcc/config/i386/sol2.h --- a/gcc/config/i386/sol2.h +++ b/gcc/config/i386/sol2.h @@ -1,6 +1,6 @@ /* Target definitions for GCC for Intel 80386 running Solaris 2 Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, - 2004, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. + 2004, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. Contributed by Fred Fish (fnf@cygnus.com). This file is part of GCC. @@ -21,7 +21,7 @@ along with GCC; see the file COPYING3. /* Augment i386/unix.h version to return 8-byte vectors in memory, matching Sun Studio compilers until version 12, the only ones supported on - Solaris 8 and 9. */ + Solaris 9. */ #undef TARGET_SUBTARGET_DEFAULT #define TARGET_SUBTARGET_DEFAULT \ (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_VECT8_RETURNS) @@ -63,7 +63,7 @@ along with GCC; see the file COPYING3. #define ASM_CPU_SPEC "" -/* Don't include ASM_PIC_SPEC. While the Solaris 8 and 9 assembler accepts +/* Don't include ASM_PIC_SPEC. While the Solaris 9 assembler accepts -K PIC, it gives many warnings: R_386_32 relocation is used for symbol "" GNU as doesn't recognize -K at all. */ diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h --- a/gcc/config/sol2.h +++ b/gcc/config/sol2.h @@ -1,6 +1,6 @@ /* Operating system specific defines to be used when targeting GCC for any Solaris 2 system. - Copyright 2002, 2003, 2004, 2007, 2008, 2009, 2010, 2011 + Copyright 2002, 2003, 2004, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This file is part of GCC. @@ -173,7 +173,6 @@ along with GCC; see the file COPYING3. %{static:-dn -Bstatic} \ %{shared:-G -dy %{!mimpure-text:-z text}} \ %{symbolic:-Bsymbolic -G -dy -z text} \ - %{pthreads|pthread|fprofile-generate*:" LIB_THREAD_LDFLAGS_SPEC "} \ %(link_arch) \ %{Qy:} %{!Qn:-Qy}" diff --git a/gcc/configure.ac b/gcc/configure.ac --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -2345,15 +2345,6 @@ else hppa64*-*-hpux* | ia64*-*-hpux*) gcc_cv_ld_hidden=yes ;; - *-*-solaris2.8*) - # .hidden support was backported to Solaris 8, starting with ld - # version 1.276. - if test "$ld_vers_minor" -ge 276; then - gcc_cv_ld_hidden=yes - else - gcc_cv_ld_hidden=no - fi - ;; *-*-solaris2.9* | *-*-solaris2.1[0-9]*) # Support for .hidden in Sun ld appeared in Solaris 9 FCS, but # .symbolic was only added in Solaris 9 12/02. @@ -3170,10 +3161,9 @@ else [set_have_as_tls=yes]) fi case "$target" in - # TLS was introduced in the Solaris 9 FCS release and backported to - # Solaris 8 patches. Support for GNU-style TLS on x86 was only - # introduced in Solaris 9 4/04, replacing the earlier Sun style that Sun - # ld and GCC don't support any longer. + # TLS was introduced in the Solaris 9 FCS release. Support for GNU-style + # TLS on x86 was only introduced in Solaris 9 4/04, replacing the earlier + # Sun style that Sun ld and GCC don't support any longer. *-*-solaris2.*) AC_MSG_CHECKING(linker and ld.so.1 TLS support) ld_tls_support=no @@ -3184,14 +3174,6 @@ case "$target" in ld_tls_support=yes else case "$target" in - # Solaris 8/x86 ld has GNU style TLS support since version 1.280. - i?86-*-solaris2.8) - min_tls_ld_vers_minor=280 - ;; - # Solaris 8/SPARC ld has TLS support since version 1.272. - sparc*-*-solaris2.8) - min_tls_ld_vers_minor=272 - ;; # Solaris 9/x86 ld has GNU style TLS support since version 1.374. i?86-*-solaris2.9) min_tls_ld_vers_minor=374 @@ -3215,28 +3197,6 @@ case "$target" in LIBS= LDFLAGS= - AC_MSG_CHECKING(alternate thread library) - case "$target" in - # TLS support was backported to Solaris 8 patches, but only lives in - # the alternate thread library which became the default in Solaris 9. - # We want to always use that, irrespective of TLS support. - *-*-solaris2.8) - # Take multilib subdir into account. There's no spec to handle - # this. The 64 symlink exists since Solaris 8. - lwp_dir=/usr/lib/lwp - lwp_spec="-L$lwp_dir%{m64:/64} -R$lwp_dir%{m64:/64}" - LDFLAGS="-L$lwp_dir -R$lwp_dir" - ;; - *-*-solaris2*) - lwp_dir="none" - lwp_spec="" - ;; - esac - # Always define LIB_THREAD_LDFLAGS_SPEC, even without TLS support. - AC_DEFINE_UNQUOTED(LIB_THREAD_LDFLAGS_SPEC, "$lwp_spec", - [Define to the linker flags to use for -pthread.]) - AC_MSG_RESULT($lwp_dir) - AC_MSG_CHECKING(library containing $tga_func) # Before Solaris 10, __tls_get_addr (SPARC/x64) resp. ___tls_get_addr # (32-bit x86) only lived in libthread, so check for that. Keep @@ -3246,13 +3206,6 @@ case "$target" in if test $set_have_as_tls = no; then LIBS= fi - # Even without TLS support on Solaris 8, explicitly link with libthread - # to guarantee that the alternate thread library is used. - case "$target" in - *-*-solaris2.8) - LIBS=-lthread - ;; - esac # Always define LIB_TLS_SPEC, even without TLS support. AC_DEFINE_UNQUOTED(LIB_TLS_SPEC, "$LIBS", [Define to the library containing __tls_get_addr/___tls_get_addr.]) diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -3014,7 +3014,7 @@ information are. @item @uref{#ix86-x-linux,,i?86-*-linux*} @item -@uref{#ix86-x-solaris289,,i?86-*-solaris2.[89]} +@uref{#ix86-x-solaris289,,i?86-*-solaris2.9} @item @uref{#ix86-x-solaris210,,i?86-*-solaris2.10} @item @@ -3551,8 +3551,8 @@ found on @uref{http://www.bitwizard.nl/s @html
@end html -@heading @anchor{ix86-x-solaris289}i?86-*-solaris2.[89] -The Sun assembler in Solaris 8 and 9 has several bugs and limitations. +@heading @anchor{ix86-x-solaris29}i?86-*-solaris2.9 +The Sun assembler in Solaris 9 has several bugs and limitations. While GCC works around them, several features are missing, so it is @c FIXME: which ones? recommended to use the GNU assembler instead. There is no bundled @@ -3562,9 +3562,9 @@ work. Solaris@tie{}2/x86 doesn't support the execution of SSE/SSE2 instructions before Solaris@tie{}9 4/04, even if the CPU supports them. Programs will receive @code{SIGILL} if they try. The fix is available both in -Solaris@tie{}9 Update@tie{}6 and kernel patch 112234-12 or newer. There is no -corresponding patch for Solaris 8. To avoid this problem, -@option{-march} defaults to @samp{pentiumpro} on Solaris 8 and 9. If +Solaris@tie{}9 Update@tie{}6 and kernel patch 112234-12 or newer. To +avoid this problem, +@option{-march} defaults to @samp{pentiumpro} on Solaris 9. If you have the patch installed, you can configure GCC with an appropriate @option{--with-arch} option, but need GNU @command{as} for SSE2 support. @@ -4066,9 +4066,8 @@ supported as cross-compilation target on @c alone is too unspecific and must be avoided. @heading @anchor{x-x-solaris2}*-*-solaris2* -Support for Solaris 8 has been obsoleted in GCC 4.7, but can still be -enabled by configuring with @option{--enable-obsolete}. Support will be -removed in GCC 4.8. Support for Solaris 7 has been removed in GCC 4.6. +Support for Solaris 8 has removed in GCC 4.8. Support for Solaris 7 has +been removed in GCC 4.6. Sun does not ship a C compiler with Solaris 2 before Solaris 10, though you can download the Sun Studio compilers for free. In Solaris 10 and @@ -4141,13 +4140,6 @@ newer: @command{g++} will complain that assume that omitting the type means @code{int}; this assumption worked for C90 but is wrong for C++, and is now wrong for C99 also. -@command{g++} accepts such (invalid) constructs with the option -@option{-fpermissive}; it will assume that any missing type is @code{int} -(as defined by C90). - -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 related to missing diagnostic output. This bug doesn't affect GCC itself, rather it is a kernel bug triggered by the @command{expect} @@ -4155,27 +4147,19 @@ program which is used only by the GCC te causes the @command{expect} program to miss anticipated output, extra testsuite failures appear. -There are patches for Solaris 8 (117350-12 or newer for SPARC, -117351-12 or newer for Intel) and Solaris 9 (117171-11 or newer for +There are patches for Solaris 9 (117171-11 or newer for SPARC, 117172-11 or newer for Intel) that address this problem. -Solaris@tie{}8 provides an alternate implementation of the thread -library @samp{libthread}. It is required for TLS support and has -been made the default in Solaris@tie{}9, so it is always used on -Solaris@tie{}8. - -Thread-local storage (TLS) is supported in Solaris@tie{}8 and 9, but requires +Thread-local storage (TLS) is supported in Solaris@tie{}9, but requires some patches. The @samp{libthread} patches provide the @code{__tls_get_addr} (SPARC, 64-bit x86) resp.@ @code{___tls_get_addr} -(32-bit x86) functions. On Solaris@tie{}8, you need 108993-26 or newer on -SPARC, 108994-26 or newer on Intel. On Solaris@tie{}9, the necessary support +(32-bit x86) functions. On Solaris@tie{}9, the necessary support on SPARC is present since FCS, while 114432-05 or newer is required on -Intel. Additionally, on Solaris@tie{}8, patch 109147-14 or newer on SPARC or -109148-22 or newer on Intel are required for the Sun @command{ld} and -runtime linker (@command{ld.so.1}) support. Again, Solaris@tie{}9/SPARC -works since FCS, while 113986-02 is required on Intel. The linker +Intel. Additionally, on Solaris@tie{}9/x86, patch 113986-02 or newer is +required for the Sun @command{ld} and runtime linker (@command{ld.so.1}) +support, while Solaris@tie{}9/SPARC works since FCS. The linker patches must be installed even if GNU @command{ld} is used. Sun -@command{as} in Solaris@tie{}8 and 9 doesn't support the necessary +@command{as} in Solaris@tie{}9 doesn't support the necessary relocations, so GNU @command{as} must be used. The @command{configure} script checks for those prerequisites and automatically enables TLS support if they are met. Although those minimal patch versions should diff --git a/gcc/testsuite/g++.dg/warn/miss-format-1.C b/gcc/testsuite/g++.dg/warn/miss-format-1.C --- a/gcc/testsuite/g++.dg/warn/miss-format-1.C +++ b/gcc/testsuite/g++.dg/warn/miss-format-1.C @@ -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.8 *-*-vxworks* } } 26 } */ +/* { dg-error "not declared" "" { target *-*-vxworks* } 26 } */ #include #include @@ -23,7 +23,7 @@ bar (const char *fmt, ...) { va_list ap; va_start (ap, fmt); - vscanf (fmt, ap); /* { dg-warning "candidate" "scanf attribute warning" { xfail *-*-solaris2.8 *-*-vxworks* } } */ + vscanf (fmt, ap); /* { dg-warning "candidate" "scanf attribute warning" { xfail *-*-vxworks* } } */ va_end (ap); } diff --git a/gcc/testsuite/gcc.dg/c99-stdint-6.c b/gcc/testsuite/gcc.dg/c99-stdint-6.c --- a/gcc/testsuite/gcc.dg/c99-stdint-6.c +++ b/gcc/testsuite/gcc.dg/c99-stdint-6.c @@ -2,7 +2,7 @@ with any system 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.[89]* } } */ +/* { dg-options "-std=gnu99 -pedantic-errors -DNO_FAST_TYPES" { target *-*-solaris2.9* } } */ #include #ifndef SIGNAL_SUPPRESS diff --git a/gcc/testsuite/gcc.dg/lto/20090210_0.c b/gcc/testsuite/gcc.dg/lto/20090210_0.c --- a/gcc/testsuite/gcc.dg/lto/20090210_0.c +++ b/gcc/testsuite/gcc.dg/lto/20090210_0.c @@ -2,7 +2,7 @@ /* { dg-require-effective-target fpic } */ /* { dg-suppress-ld-options {-fPIC} } */ /* { dg-require-effective-target tls_runtime } */ -/* { dg-extra-ld-options "-pthread" { target *-*-solaris2.[89] } } */ +/* { dg-extra-ld-options "-pthread" { target *-*-solaris2.9 } } */ int foo (int x) { return x; diff --git a/gcc/testsuite/gcc.dg/pr28796-2.c b/gcc/testsuite/gcc.dg/pr28796-2.c --- a/gcc/testsuite/gcc.dg/pr28796-2.c +++ b/gcc/testsuite/gcc.dg/pr28796-2.c @@ -2,7 +2,6 @@ /* { dg-options "-O2 -funsafe-math-optimizations -fno-finite-math-only -DUNSAFE" } */ /* { dg-add-options ieee } */ /* { dg-skip-if "No Inf/NaN support" { spu-*-* } } */ -/* { dg-skip-if "Bug in _Q_dtoq" { sparc*-sun-solaris2.8 } } */ #include "tg-tests.h" diff --git a/gcc/testsuite/gcc.dg/pragma-init-fini-2.c b/gcc/testsuite/gcc.dg/pragma-init-fini-2.c --- a/gcc/testsuite/gcc.dg/pragma-init-fini-2.c +++ b/gcc/testsuite/gcc.dg/pragma-init-fini-2.c @@ -2,7 +2,6 @@ /* { dg-do link { target *-*-solaris2.* } } */ /* { dg-options "-fpic" } */ -/* { dg-xfail-if "no .pushsection/.popsection" { i?86-*-solaris2.8 && { ! gas } } } */ #include diff --git a/gcc/testsuite/gcc.dg/pragma-init-fini.c b/gcc/testsuite/gcc.dg/pragma-init-fini.c --- a/gcc/testsuite/gcc.dg/pragma-init-fini.c +++ b/gcc/testsuite/gcc.dg/pragma-init-fini.c @@ -1,7 +1,6 @@ /* Tests for #pragma init and #pragma fini. */ /* { dg-do run { target *-*-solaris2.* } } */ -/* { dg-skip-if "no .pushsection/.popsection" { i?86-*-solaris2.8 && { ! gas } } } */ extern void abort (); diff --git a/gcc/testsuite/gcc.dg/torture/pr47917.c b/gcc/testsuite/gcc.dg/torture/pr47917.c --- a/gcc/testsuite/gcc.dg/torture/pr47917.c +++ b/gcc/testsuite/gcc.dg/torture/pr47917.c @@ -1,6 +1,6 @@ /* { dg-do run } */ /* { dg-options "-std=c99" } */ -/* { dg-options "-std=c99 -D_XOPEN_SOURCE=500" { target *-*-solaris2.[89] } } */ +/* { dg-options "-std=c99 -D_XOPEN_SOURCE=500" { target *-*-solaris2.9 } } */ /* { dg-options "-std=gnu99" { target *-*-hpux* } } */ /* { dg-additional-options "-D__USE_MINGW_ANSI_STDIO=1" { target *-*-mingw* } } */ /* { dg-xfail-if "no C99 snprintf function" { *-*-hpux10* } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr22076.c b/gcc/testsuite/gcc.target/i386/pr22076.c --- a/gcc/testsuite/gcc.target/i386/pr22076.c +++ b/gcc/testsuite/gcc.target/i386/pr22076.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fomit-frame-pointer -flax-vector-conversions -mmmx" } */ -/* { dg-options "-O2 -fomit-frame-pointer -flax-vector-conversions -mmmx -mno-vect8-ret-in-mem" { target i?86-*-solaris2.[89] *-*-vxworks* } } */ +/* { dg-options "-O2 -fomit-frame-pointer -flax-vector-conversions -mmmx -mno-vect8-ret-in-mem" { target i?86-*-solaris2.9 *-*-vxworks* } } */ #include diff --git a/gcc/testsuite/gcc.target/i386/pr22152.c b/gcc/testsuite/gcc.target/i386/pr22152.c --- a/gcc/testsuite/gcc.target/i386/pr22152.c +++ b/gcc/testsuite/gcc.target/i386/pr22152.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ -/* { dg-options "-O2 -msse2 -mno-vect8-ret-in-mem" { target i?86-*-solaris2.[89] *-*-vxworks* } } */ +/* { dg-options "-O2 -msse2 -mno-vect8-ret-in-mem" { target i?86-*-solaris2.9 *-*-vxworks* } } */ /* { dg-additional-options "-mabi=sysv" { target x86_64-*-mingw* } } */ #include diff --git a/gcc/testsuite/gcc.target/i386/vect8-ret.c b/gcc/testsuite/gcc.target/i386/vect8-ret.c --- a/gcc/testsuite/gcc.target/i386/vect8-ret.c +++ b/gcc/testsuite/gcc.target/i386/vect8-ret.c @@ -1,5 +1,5 @@ /* { dg-do compile { target ia32 } } */ -/* { dg-options "-mmmx" { target i?86-*-solaris2.[89] *-*-vxworks* } } */ +/* { dg-options "-mmmx" { target i?86-*-solaris2.9 *-*-vxworks* } } */ /* { dg-options "-mmmx -mvect8-ret-in-mem" } */ #include diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -569,11 +569,11 @@ proc check_effective_target_pcc_bitfield # Add to FLAGS all the target-specific flags needed to use thread-local storage. proc add_options_for_tls { flags } { - # On Solaris 8 and 9, __tls_get_addr/___tls_get_addr only lives in + # On Solaris 9, __tls_get_addr/___tls_get_addr only lives in # libthread, so always pass -pthread for native TLS. # Need to duplicate native TLS check from # check_effective_target_tls_native to avoid recursion. - if { [istarget *-*-solaris2.\[89\]*] && + if { [istarget *-*-solaris2.9*] && [check_no_messages_and_pattern tls_native "!emutls" assembly { __thread int i; int f (void) { return i; } diff --git a/libcpp/lex.c b/libcpp/lex.c --- a/libcpp/lex.c +++ b/libcpp/lex.c @@ -1,6 +1,6 @@ /* CPP Library - lexical analysis. Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, - 2011 Free Software Foundation, Inc. + 2011, 2012 Free Software Foundation, Inc. Contributed by Per Bothner, 1994-95. Based on CCCP program by Paul Rubin, June 1986 Adapted to ANSI C, Richard Stallman, Jan 1987 @@ -267,7 +267,6 @@ search_line_acc_char (const uchar *s, co /* Disable on Solaris 2/x86 until the following problems can be properly autoconfed: - The Solaris 8 assembler cannot assemble SSE2/SSE4.2 insns. The Solaris 9 assembler cannot assemble SSE4.2 insns. Before Solaris 9 Update 6, SSE insns cannot be executed. The Solaris 10+ assembler tags objects with the instruction set diff --git a/libgcc/config/i386/sol2-unwind.h b/libgcc/config/i386/sol2-unwind.h --- a/libgcc/config/i386/sol2-unwind.h +++ b/libgcc/config/i386/sol2-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for AMD x86-64 and x86. - Copyright (C) 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2009, 2010, 2012 Free Software Foundation, Inc. This file is part of GCC. @@ -144,55 +144,23 @@ x86_fallback_frame_state (struct _Unwind mcontext_t *mctx; long new_cfa; - if (/* Solaris 8 - single-threaded + if (/* Solaris 9 - single-threaded ---------------------------- - : mov 0x10(%ebp),%esi - : push %esi - : pushl 0xc(%ebp) - : mov 0x8(%ebp),%ecx - : push %ecx - : mov offset(%ebx),%eax - : call *(%eax,%ecx,4) - : add $0xc,%esp <--- PC - : push %esi ... */ - (*(unsigned long *)(pc - 20) == 0x5610758b - && *(unsigned long *)(pc - 16) == 0x8b0c75ff - && *(unsigned long *)(pc - 12) == 0x8b51084d - && *(unsigned char *)(pc - 8) == 0x83 - && *(unsigned long *)(pc - 4) == 0x8814ff00 - && *(unsigned long *)(pc - 0) == 0x560cc483) - - || /* Solaris 8 - multi-threaded - --------------------------- - <__sighndlr+0>: push %ebp - <__sighndlr+1>: mov %esp,%ebp - <__sighndlr+3>: pushl 0x10(%ebp) - <__sighndlr+6>: pushl 0xc(%ebp) - <__sighndlr+9>: pushl 0x8(%ebp) - <__sighndlr+12>: call *0x14(%ebp) - <__sighndlr+15>: leave <--- PC */ - (*(unsigned long *)(pc - 15) == 0xffec8b55 - && *(unsigned long *)(pc - 11) == 0x75ff1075 - && *(unsigned long *)(pc - 7) == 0x0875ff0c - && *(unsigned long *)(pc - 3) == 0xc91455ff) - - || /* Solaris 9 - single-threaded - ---------------------------- - : mov 0x244(%ebx),%ecx - : mov 0x8(%ebp),%eax - : mov (%ecx,%eax,4),%ecx - : pushl 0x10(%ebp) - : pushl 0xc(%ebp) - : push %eax - : call *%ecx - : add $0xc,%esp <--- PC - : pushl 0x10(%ebp) */ - (*(unsigned long *)(pc - 21) == 0x2448b8b - && *(unsigned long *)(pc - 17) == 0x458b0000 - && *(unsigned long *)(pc - 13) == 0x810c8b08 - && *(unsigned long *)(pc - 9) == 0xff1075ff - && *(unsigned long *)(pc - 5) == 0xff500c75 - && *(unsigned long *)(pc - 1) == 0xcc483d1) + : mov 0x244(%ebx),%ecx + : mov 0x8(%ebp),%eax + : mov (%ecx,%eax,4),%ecx + : pushl 0x10(%ebp) + : pushl 0xc(%ebp) + : push %eax + : call *%ecx + : add $0xc,%esp <--- PC + : pushl 0x10(%ebp) */ + (*(unsigned long *)(pc - 21) == 0x2448b8b + && *(unsigned long *)(pc - 17) == 0x458b0000 + && *(unsigned long *)(pc - 13) == 0x810c8b08 + && *(unsigned long *)(pc - 9) == 0xff1075ff + && *(unsigned long *)(pc - 5) == 0xff500c75 + && *(unsigned long *)(pc - 1) == 0xcc483d1) || /* Solaris 9 - multi-threaded, Solaris 10 --------------------------------------- diff --git a/libgcc/config/sparc/sol2-unwind.h b/libgcc/config/sparc/sol2-unwind.h --- a/libgcc/config/sparc/sol2-unwind.h +++ b/libgcc/config/sparc/sol2-unwind.h @@ -36,44 +36,25 @@ see the files COPYING3 and COPYING.RUNTI static int sparc64_is_sighandler (unsigned int *pc, void *cfa, int *nframes) { - if (/* Solaris 8 - single-threaded + if (/* Solaris 9 - single-threaded ---------------------------- - : add %g5, %o7, %o2 - : ldx [ %o2 + 0xfa0 ], %g5 - : sra %i0, 0, %o0 - : sllx %o0, 3, %g4 + The pattern changes slightly in different versions of the + operating system, so we skip the comparison against pc[-6] for + Solaris 9. + + : sra %i0, 0, %l1 + + Solaris 9 5/02: + : ldx [ %o2 + 0xf68 ], %g5 + Solaris 9 9/05: + : ldx [ %o2 + 0xe50 ], %g5 + + : sllx %l1, 3, %g4 + : mov %l1, %o0 : ldx [ %g4 + %g5 ], %l0 : call %l0 : mov %i2, %o2 - : cmp %i3, 8 <--- PC */ - ( pc[-7] == 0x9401400f - && pc[-6] == 0xca5aafa0 - && pc[-5] == 0x913e2000 - && pc[-4] == 0x892a3003 - && pc[-3] == 0xe0590005 - && pc[-2] == 0x9fc40000 - && pc[-1] == 0x9410001a - && pc[ 0] == 0x80a6e008) - - || /* Solaris 9 - single-threaded - ---------------------------- - The pattern changes slightly in different versions of the - operating system, so we skip the comparison against pc[-6] for - Solaris 9. - - : sra %i0, 0, %l1 - - Solaris 9 5/02: - : ldx [ %o2 + 0xf68 ], %g5 - Solaris 9 9/05: - : ldx [ %o2 + 0xe50 ], %g5 - - : sllx %l1, 3, %g4 - : mov %l1, %o0 - : ldx [ %g4 + %g5 ], %l0 - : call %l0 - : mov %i2, %o2 - : cmp %l1, 8 <--- PC */ + : cmp %l1, 8 <--- PC */ ( pc[-7] == 0xa33e2000 /* skip pc[-6] */ && pc[-5] == 0x892c7003 @@ -147,8 +128,7 @@ sparc64_is_sighandler (unsigned int *pc, } else if (cuh_pattern == 0x9410001a || cuh_pattern == 0x94100013) - /* This matches the call_user_handler pattern for Solaris 9 and - for Solaris 8 running inside Solaris Containers respectively + /* This matches the call_user_handler pattern for Solaris 9. We need to move up three frames: <-- context->cfa @@ -159,17 +139,6 @@ sparc64_is_sighandler (unsigned int *pc, */ *nframes = 3; - else /* cuh_pattern == 0xe0272010 */ - /* This is the default Solaris 8 case. - We need to move up two frames: - - <-- context->cfa - __sighndlr - sigacthandler - - */ - *nframes = 2; - return 1; } @@ -211,8 +180,8 @@ sparc64_frob_update_context (struct _Unw static int sparc_is_sighandler (unsigned int *pc, void *cfa, int *nframes) { - if (/* Solaris 8, 9 - single-threaded - ------------------------------- + if (/* Solaris 9 - single-threaded + ---------------------------- The pattern changes slightly in different versions of the operating system, so we skip the comparison against pc[-6]. @@ -247,37 +216,6 @@ sparc_is_sighandler (unsigned int *pc, v return 1; } - if (/* Solaris 8 - multi-threaded - --------------------------- - <__libthread_segvhdlr+212>: clr %o2 - <__libthread_segvhdlr+216>: ld [ %fp + -28 ], %l0 - <__libthread_segvhdlr+220>: mov %i4, %o0 - <__libthread_segvhdlr+224>: mov %i1, %o1 - <__libthread_segvhdlr+228>: call %l0 - <__libthread_segvhdlr+232>: mov %i2, %o2 - <__libthread_segvhdlr+236>: ret <--- PC - <__libthread_segvhdlr+240>: restore - <__libthread_segvhdlr+244>: cmp %o1, 0 */ - pc[-6] == 0x94102000 - && pc[-5] == 0xe007bfe4 - && pc[-4] == 0x9010001c - && pc[-3] == 0x92100019 - && pc[-2] == 0x9fc40000 - && pc[-1] == 0x9410001a - && pc[ 0] == 0x81c7e008 - && pc[ 1] == 0x81e80000 - && pc[ 2] == 0x80a26000) - { - /* We need to move up one frame: - - <-- context->cfa - __libthread_segvhdlr - - */ - *nframes = 1; - return 1; - } - if(/* Solaris 8+ - multi-threaded ---------------------------- <__sighndlr>: save %sp, -96, %sp @@ -332,8 +270,7 @@ sparc_is_sighandler (unsigned int *pc, v } else if (cuh_pattern == 0x9410001a || cuh_pattern == 0x9410001b) - /* This matches the call_user_handler pattern for Solaris 9 and - for Solaris 8 running inside Solaris Containers respectively. + /* This matches the call_user_handler pattern for Solaris 9. We need to move up three frames: <-- context->cfa @@ -344,17 +281,6 @@ sparc_is_sighandler (unsigned int *pc, v */ *nframes = 3; - else /* cuh_pattern == 0x90100018 */ - /* This is the default Solaris 8 case. - We need to move up two frames: - - <-- context->cfa - __sighndlr - sigacthandler - - */ - *nframes = 2; - return 1; } diff --git a/libgo/configure.ac b/libgo/configure.ac --- a/libgo/configure.ac +++ b/libgo/configure.ac @@ -282,8 +282,8 @@ AC_SUBST(GO_SYSCALL_OS_ARCH_FILE) dnl Special flags used to generate sysinfo.go. OSCFLAGS="-D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" case "$target" in - *-*-solaris2.[[89]]) - # Solaris 8/9 need this so struct msghdr gets the msg_control + *-*-solaris2.9) + # Solaris 9 needs this so struct msghdr gets the msg_control # etc. fields in (_XPG4_2). OSCFLAGS="$OSCFLAGS -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D__EXTENSIONS__" ;; @@ -623,7 +623,7 @@ fi dnl Check if makecontext expects the uc_stack member of ucontext to point dnl to the top of the stack. case "$target" in - sparc*-*-solaris2.[[89]]*) + sparc*-*-solaris2.9*) libgo_cv_lib_makecontext_stack_top=yes ;; *) diff --git a/libjava/configure.ac b/libjava/configure.ac --- a/libjava/configure.ac +++ b/libjava/configure.ac @@ -1086,16 +1086,8 @@ case "$THREADS" in THREADLIBS='-lpthread -lrt' THREADSPEC='-lpthread -lrt' ;; - *-*-solaris2.8) - # Always use alternate thread library on Solaris 8. Need libthread - # for TLS support. - # Need -Wl,-R to get it through libtool ... - THREADLIBS='-L/usr/lib/lwp$(MULTISUBDIR) -Wl,-R -Wl,/usr/lib/lwp$(MULTISUBDIR) -lpthread -lthread' - # ... while ld only accepts -R. - THREADSPEC='-L/usr/lib/lwp%{m64:/64} -R/usr/lib/lwp%{m64:/64} -lpthread -lthread' - ;; *-*-solaris2.9) - # As on Solaris 8, need libthread for TLS support. + # Need libthread for TLS support. THREADLIBS='-lpthread -lthread' THREADSPEC='-lpthread -lthread' ;; diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -1715,100 +1715,6 @@ AC_DEFUN([GLIBCXX_COMPUTE_STDIO_INTEGER_ ]) dnl -dnl Check whether required C++ overloads are present in . -dnl - -AC_DEFUN([GLIBCXX_CHECK_MATH_PROTO], [ - - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - - case "$host" in - *-*-solaris2.*) - # Solaris 8 FCS only had an overload for double std::abs(double) in - # . Patches 111721-04 (SPARC) and 112757-01 (x86) - # introduced the full set also found from Solaris 9 onwards. - AC_MSG_CHECKING([for float std::abs(float) overload]) - AC_CACHE_VAL(glibcxx_cv_abs_float, [ - AC_COMPILE_IFELSE([AC_LANG_SOURCE( - [#include - namespace std { - inline float abs(float __x) - { return __builtin_fabsf(__x); } - } - ])], - [glibcxx_cv_abs_float=no], - [glibcxx_cv_abs_float=yes] - )]) - - # autoheader cannot handle indented templates. - AH_VERBATIM([__CORRECT_ISO_CPP_MATH_H_PROTO1], - [/* Define if all C++ overloads are available in . */ -#if __cplusplus >= 199711L -#undef __CORRECT_ISO_CPP_MATH_H_PROTO1 -#endif]) - AH_VERBATIM([__CORRECT_ISO_CPP_MATH_H_PROTO2], - [/* Define if only double std::abs(double) is available in . */ -#if __cplusplus >= 199711L -#undef __CORRECT_ISO_CPP_MATH_H_PROTO2 -#endif]) - - if test $glibcxx_cv_abs_float = yes; then - AC_DEFINE(__CORRECT_ISO_CPP_MATH_H_PROTO1) - else - AC_DEFINE(__CORRECT_ISO_CPP_MATH_H_PROTO2) - fi - AC_MSG_RESULT($glibcxx_cv_abs_float) - ;; - esac - - AC_LANG_RESTORE -]) - -dnl -dnl Check whether required C++ overloads are present in . -dnl - -AC_DEFUN([GLIBCXX_CHECK_STDLIB_PROTO], [ - - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - - case "$host" in - *-*-solaris2.*) - # Solaris 8 FCS lacked the overloads for long std::abs(long) and - # ldiv_t std::div(long, long) in . Patches 109607-02 - # (SPARC) and 109608-02 (x86) introduced them. - AC_MSG_CHECKING([for long std::abs(long) overload]) - AC_CACHE_VAL(glibcxx_cv_abs_long, [ - AC_COMPILE_IFELSE([AC_LANG_SOURCE( - [#include - namespace std { - inline long - abs(long __i) { return labs(__i); } - } - ])], - [glibcxx_cv_abs_long=no], - [glibcxx_cv_abs_long=yes] - )]) - - # autoheader cannot handle indented templates. - AH_VERBATIM([__CORRECT_ISO_CPP_STDLIB_H_PROTO], - [/* Define if all C++ overloads are available in . */ -#if __cplusplus >= 199711L -#undef __CORRECT_ISO_CPP_STDLIB_H_PROTO -#endif]) - if test $glibcxx_cv_abs_long = yes; then - AC_DEFINE(__CORRECT_ISO_CPP_STDLIB_H_PROTO, 1) - fi - AC_MSG_RESULT($glibcxx_cv_abs_long) - ;; - esac - - AC_LANG_RESTORE -]) - -dnl dnl Check whether required C++ overloads are present in . dnl AC_DEFUN([GLIBCXX_CHECK_STDIO_PROTO], [ @@ -3401,9 +3307,9 @@ AC_DEFUN([GLIBCXX_CHECK_GTHREADS], [ #error #endif ], [case $target_os in - # gthreads support breaks symbol versioning on Solaris 8/9 (PR + # gthreads support breaks symbol versioning on Solaris 9 (PR # libstdc++/52189). - solaris2.[[89]]*) + solaris2.9*) if test x$enable_symvers = xno; then ac_has_gthreads=yes elif test x$enable_libstdcxx_threads = xyes; then diff --git a/libstdc++-v3/config/abi/post/solaris2.8/baseline_symbols.txt b/libstdc++-v3/config/abi/post/solaris2.9/baseline_symbols.txt rename from libstdc++-v3/config/abi/post/solaris2.8/baseline_symbols.txt rename to libstdc++-v3/config/abi/post/solaris2.9/baseline_symbols.txt diff --git a/libstdc++-v3/config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt b/libstdc++-v3/config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt rename from libstdc++-v3/config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt rename to libstdc++-v3/config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt diff --git a/libstdc++-v3/config/os/solaris/solaris2.8/ctype_base.h b/libstdc++-v3/config/os/solaris/solaris2.9/ctype_base.h rename from libstdc++-v3/config/os/solaris/solaris2.8/ctype_base.h rename to libstdc++-v3/config/os/solaris/solaris2.9/ctype_base.h diff --git a/libstdc++-v3/config/os/solaris/solaris2.8/ctype_configure_char.cc b/libstdc++-v3/config/os/solaris/solaris2.9/ctype_configure_char.cc rename from libstdc++-v3/config/os/solaris/solaris2.8/ctype_configure_char.cc rename to libstdc++-v3/config/os/solaris/solaris2.9/ctype_configure_char.cc diff --git a/libstdc++-v3/config/os/solaris/solaris2.8/ctype_inline.h b/libstdc++-v3/config/os/solaris/solaris2.9/ctype_inline.h rename from libstdc++-v3/config/os/solaris/solaris2.8/ctype_inline.h rename to libstdc++-v3/config/os/solaris/solaris2.9/ctype_inline.h diff --git a/libstdc++-v3/config/os/solaris/solaris2.8/os_defines.h b/libstdc++-v3/config/os/solaris/solaris2.9/os_defines.h rename from libstdc++-v3/config/os/solaris/solaris2.8/os_defines.h rename to libstdc++-v3/config/os/solaris/solaris2.9/os_defines.h --- a/libstdc++-v3/config/os/solaris/solaris2.8/os_defines.h +++ b/libstdc++-v3/config/os/solaris/solaris2.9/os_defines.h @@ -1,6 +1,7 @@ -// Specific definitions for Solaris 8+ -*- C++ -*- +// Specific definitions for Solaris 9+ -*- C++ -*- -// Copyright (C) 2000, 2002, 2005, 2009, 2011 Free Software Foundation, Inc. +// Copyright (C) 2000, 2002, 2005, 2009, 2011, 2012 +// Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -29,11 +30,8 @@ // file will come before all others. #if __cplusplus >= 199711L -// Overloads in and changed with -// Solaris 8 patches. Since includes -// before configure results, -// __CORRECT_ISO_CPP_MATH_H_PROTO[12] and __CORRECT_ISO_CPP_STDLIB_H_PROTO -// must be defined via acinclude.m4. +#define __CORRECT_ISO_CPP_MATH_H_PROTO +#define __CORRECT_ISO_CPP_STDLIB_H_PROTO #define __CORRECT_ISO_CPP_STRING_H_PROTO #define __CORRECT_ISO_CPP_WCHAR_H_PROTO #endif diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac --- a/libstdc++-v3/configure.ac +++ b/libstdc++-v3/configure.ac @@ -134,8 +134,6 @@ GLIBCXX_ENABLE_PYTHON GLIBCXX_ENABLE_WERROR([yes]) # Checks for operating systems support that doesn't require linking. -GLIBCXX_CHECK_MATH_PROTO -GLIBCXX_CHECK_STDLIB_PROTO GLIBCXX_CHECK_STDIO_PROTO GLIBCXX_CHECK_SYSTEM_ERROR diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host --- a/libstdc++-v3/configure.host +++ b/libstdc++-v3/configure.host @@ -280,8 +280,8 @@ case "${host_os}" in echo "Please specify the full version of Solaris, ie. solaris2.9 " 1>&2 exit 1 ;; - solaris2.[89] | solaris2.1[0-9]) - os_include_dir="os/solaris/solaris2.8" + solaris2.9 | solaris2.1[0-9]) + os_include_dir="os/solaris/solaris2.9" ;; tpf) os_include_dir="os/tpf" @@ -332,8 +332,8 @@ case "${host}" in powerpc*-*-darwin*) port_specific_symbol_files="\$(srcdir)/../config/os/bsd/darwin/ppc-extra.ver" ;; - *-*-solaris2.[89]) - abi_baseline_pair=solaris2.8 + *-*-solaris2.9) + abi_baseline_pair=solaris2.9 abi_baseline_subdir_switch=--print-multi-os-directory ;; *-*-solaris2.1[0-9]) diff --git a/libstdc++-v3/crossconfig.m4 b/libstdc++-v3/crossconfig.m4 --- a/libstdc++-v3/crossconfig.m4 +++ b/libstdc++-v3/crossconfig.m4 @@ -198,7 +198,7 @@ case "${host}" in ;; *-solaris*) case "$target" in - *-solaris2.8 | *-solaris2.9 | *-solaris2.10) + *-solaris2.9 | *-solaris2.10) GLIBCXX_CHECK_LINKER_FEATURES AC_DEFINE(HAVE_MBSTATE_T) AC_DEFINE(HAVE_FINITE) diff --git a/libstdc++-v3/doc/xml/manual/configure.xml b/libstdc++-v3/doc/xml/manual/configure.xml --- a/libstdc++-v3/doc/xml/manual/configure.xml +++ b/libstdc++-v3/doc/xml/manual/configure.xml @@ -164,7 +164,7 @@ --enable-libstdcxx-threads Enable C++11 threads support. If not explicitly specified, the configure process enables it if possible. It defaults to 'off' - on Solaris 8 and 9, where it would break symbol versioning. This + on Solaris 9, where it would break symbol versioning. This option can change the library ABI. diff --git a/libstdc++-v3/include/c_global/cmath b/libstdc++-v3/include/c_global/cmath --- a/libstdc++-v3/include/c_global/cmath +++ b/libstdc++-v3/include/c_global/cmath @@ -1,7 +1,7 @@ // -*- C++ -*- C forwarding header. // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007, 2008, 2009, 2010, 2011 +// 2006, 2007, 2008, 2009, 2010, 2011, 2012 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -78,14 +78,13 @@ namespace std _GLIBCXX_VISIBILITY(defaul { _GLIBCXX_BEGIN_NAMESPACE_VERSION -#if !defined(__CORRECT_ISO_CPP_MATH_H_PROTO1) \ - && !defined(__CORRECT_ISO_CPP_MATH_H_PROTO2) +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR double abs(double __x) { return __builtin_fabs(__x); } #endif -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float abs(float __x) { return __builtin_fabsf(__x); } @@ -104,7 +103,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::acos; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float acos(float __x) { return __builtin_acosf(__x); } @@ -123,7 +122,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::asin; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float asin(float __x) { return __builtin_asinf(__x); } @@ -142,7 +141,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::atan; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float atan(float __x) { return __builtin_atanf(__x); } @@ -161,7 +160,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::atan2; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float atan2(float __y, float __x) { return __builtin_atan2f(__y, __x); } @@ -182,7 +181,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::ceil; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float ceil(float __x) { return __builtin_ceilf(__x); } @@ -201,7 +200,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::cos; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float cos(float __x) { return __builtin_cosf(__x); } @@ -220,7 +219,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::cosh; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float cosh(float __x) { return __builtin_coshf(__x); } @@ -239,7 +238,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::exp; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float exp(float __x) { return __builtin_expf(__x); } @@ -258,7 +257,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::fabs; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float fabs(float __x) { return __builtin_fabsf(__x); } @@ -277,7 +276,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::floor; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float floor(float __x) { return __builtin_floorf(__x); } @@ -296,7 +295,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::fmod; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float fmod(float __x, float __y) { return __builtin_fmodf(__x, __y); } @@ -317,7 +316,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::frexp; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline float frexp(float __x, int* __exp) { return __builtin_frexpf(__x, __exp); } @@ -336,7 +335,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::ldexp; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float ldexp(float __x, int __exp) { return __builtin_ldexpf(__x, __exp); } @@ -355,7 +354,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::log; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float log(float __x) { return __builtin_logf(__x); } @@ -374,7 +373,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::log10; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float log10(float __x) { return __builtin_log10f(__x); } @@ -393,7 +392,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::modf; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline float modf(float __x, float* __iptr) { return __builtin_modff(__x, __iptr); } @@ -405,7 +404,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::pow; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float pow(float __x, float __y) { return __builtin_powf(__x, __y); } @@ -442,7 +441,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::sin; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float sin(float __x) { return __builtin_sinf(__x); } @@ -461,7 +460,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::sinh; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float sinh(float __x) { return __builtin_sinhf(__x); } @@ -480,7 +479,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::sqrt; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float sqrt(float __x) { return __builtin_sqrtf(__x); } @@ -499,7 +498,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::tan; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float tan(float __x) { return __builtin_tanf(__x); } @@ -518,7 +517,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::tanh; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float tanh(float __x) { return __builtin_tanhf(__x); } diff --git a/libstdc++-v3/include/tr1/cmath b/libstdc++-v3/include/tr1/cmath --- a/libstdc++-v3/include/tr1/cmath +++ b/libstdc++-v3/include/tr1/cmath @@ -1,6 +1,6 @@ // TR1 cmath -*- C++ -*- -// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 +// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -563,12 +563,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // Note: we deal with fabs in a special way, because an using std::fabs // would bring in also the overloads for complex types, which in C++0x // mode have a different return type. - // With __CORRECT_ISO_CPP_MATH_H_PROTO1, math.h imports std::fabs in the + // With __CORRECT_ISO_CPP_MATH_H_PROTO, math.h imports std::fabs in the // global namespace after the declarations of the float / double / long // double overloads but before the std::complex overloads. using ::fabs; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline float fabs(float __x) { return __builtin_fabsf(__x); } diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc @@ -1,7 +1,7 @@ // 1999-04-12 bkoz // Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, -// 2010 +// 2010, 2012 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -21,10 +21,10 @@ // 27.6.1.2.2 arithmetic extractors -// XXX This test fails on Solaris 8 and 9 because of a bug in libc +// XXX This test fails on Solaris 9 because of a bug in libc // XXX sscanf for very long input. See: // XXX http://gcc.gnu.org/ml/gcc/2002-12/msg01422.html -// { dg-do run { xfail { { *-*-solaris2.[89] } || lax_strtofp } } } +// { dg-do run { xfail { { *-*-solaris2.9 } || lax_strtofp } } } #include #include diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010 +// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2012 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -18,10 +18,10 @@ // 27.6.1.2.2 arithmetic extractors -// XXX This test fails on Solaris 8 and 9 because of a bug in libc +// XXX This test fails on Solaris 9 because of a bug in libc // XXX sscanf for very long input. See: // XXX http://gcc.gnu.org/ml/gcc/2002-12/msg01422.html -// { dg-do run { xfail { { *-*-solaris2.[89] } || lax_strtofp } } } +// { dg-do run { xfail { { *-*-solaris2.9 } || lax_strtofp } } } #include #include diff --git a/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc b/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc --- a/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc +++ b/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc @@ -1,10 +1,11 @@ // Before Solaris 11, iconv -f ISO-8859-1 -t ISO-8859-1 fails with // Not supported ISO-8859-1 to ISO-8859-1 // -// { dg-do run { xfail *-*-solaris2.[89] *-*-solaris2.10 } } +// { dg-do run { xfail *-*-solaris2.9 *-*-solaris2.10 } } // { dg-require-iconv "ISO-8859-1" } -// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010 Free Software Foundation +// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2012 +// Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the