From 264a5d115c6fca4028e1d1a03b55075d78f1df06 Mon Sep 17 00:00:00 2001 From: ro Date: Wed, 14 Mar 2012 17:08:03 +0000 Subject: [PATCH] Remove obsolete Solaris 8 support 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. 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185392 138bc75d-0d04-0410-961f-82ee72b054a4 --- fixincludes/ChangeLog | 8 ++ fixincludes/fixincl.x | 56 +-------- fixincludes/inclhack.def | 26 +---- fixincludes/tests/base/pthread.h | 10 -- gcc/ChangeLog | 23 ++++ gcc/acinclude.m4 | 18 +-- gcc/config.gcc | 12 +- gcc/config.in | 6 - gcc/config/i386/sol2.h | 6 +- gcc/config/sol2.h | 3 +- gcc/configure | 74 +----------- gcc/configure.ac | 53 +-------- gcc/doc/install.texi | 46 +++----- gcc/testsuite/ChangeLog | 15 +++ gcc/testsuite/g++.dg/warn/miss-format-1.C | 4 +- gcc/testsuite/gcc.dg/c99-stdint-6.c | 2 +- gcc/testsuite/gcc.dg/lto/20090210_0.c | 2 +- gcc/testsuite/gcc.dg/pr28796-2.c | 1 - gcc/testsuite/gcc.dg/pragma-init-fini-2.c | 1 - gcc/testsuite/gcc.dg/pragma-init-fini.c | 1 - gcc/testsuite/gcc.dg/torture/pr47917.c | 2 +- gcc/testsuite/gcc.target/i386/pr22076.c | 2 +- gcc/testsuite/gcc.target/i386/pr22152.c | 2 +- gcc/testsuite/gcc.target/i386/vect8-ret.c | 2 +- gcc/testsuite/lib/target-supports.exp | 4 +- libcpp/ChangeLog | 4 + libcpp/lex.c | 3 +- libgcc/ChangeLog | 8 ++ libgcc/config/i386/sol2-unwind.h | 66 +++-------- libgcc/config/sparc/sol2-unwind.h | 112 +++--------------- libjava/ChangeLog | 5 + libjava/configure | 10 +- libjava/configure.ac | 10 +- libstdc++-v3/ChangeLog | 40 +++++++ libstdc++-v3/acinclude.m4 | 98 +--------------- libstdc++-v3/config.h.in | 15 --- .../baseline_symbols.txt | 0 .../sparcv9/baseline_symbols.txt | 0 .../{solaris2.8 => solaris2.9}/ctype_base.h | 0 .../ctype_configure_char.cc | 0 .../{solaris2.8 => solaris2.9}/ctype_inline.h | 0 .../{solaris2.8 => solaris2.9}/os_defines.h | 12 +- libstdc++-v3/configure | 127 +-------------------- libstdc++-v3/configure.ac | 2 - libstdc++-v3/configure.host | 8 +- libstdc++-v3/crossconfig.m4 | 2 +- libstdc++-v3/doc/xml/manual/configure.xml | 2 +- libstdc++-v3/include/c_global/cmath | 51 ++++----- libstdc++-v3/include/tr1/cmath | 6 +- .../basic_istream/extractors_arithmetic/char/12.cc | 6 +- .../extractors_arithmetic/wchar_t/12.cc | 6 +- .../testsuite/ext/enc_filebuf/char/13598.cc | 5 +- 52 files changed, 245 insertions(+), 732 deletions(-) rename libstdc++-v3/config/abi/post/{solaris2.8 => solaris2.9}/baseline_symbols.txt (100%) rename libstdc++-v3/config/abi/post/{solaris2.8 => solaris2.9}/sparcv9/baseline_symbols.txt (100%) rename libstdc++-v3/config/os/solaris/{solaris2.8 => solaris2.9}/ctype_base.h (100%) rename libstdc++-v3/config/os/solaris/{solaris2.8 => solaris2.9}/ctype_configure_char.cc (100%) rename libstdc++-v3/config/os/solaris/{solaris2.8 => solaris2.9}/ctype_inline.h (100%) rename libstdc++-v3/config/os/solaris/{solaris2.8 => solaris2.9}/os_defines.h (75%) diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog index 4f59eda..aff2eae 100644 --- a/fixincludes/ChangeLog +++ b/fixincludes/ChangeLog @@ -1,5 +1,13 @@ 2012-03-14 Rainer Orth + * 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. + +2012-03-14 Rainer Orth + * inclhack.def (broken_cabs): Remove IRIX and SunOS 4 support. (irix___restrict): Remove. (irix___generic1): Remove. diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x index ba7babc..b6a804d 100644 --- a/fixincludes/fixincl.x +++ b/fixincludes/fixincl.x @@ -2,11 +2,11 @@ * * DO NOT EDIT THIS FILE (fixincl.x) * - * It has been AutoGen-ed Wednesday March 14, 2012 at 02:41:19 PM MET + * It has been AutoGen-ed Wednesday March 14, 2012 at 03:19:50 PM MET * From the definitions inclhack.def * and the template file fixincl */ -/* DO NOT SVN-MERGE THIS FILE, EITHER Wed Mar 14 14:41:19 MET 2012 +/* DO NOT SVN-MERGE THIS FILE, EITHER Wed Mar 14 15:19:50 MET 2012 * * You must regenerate it. Use the ./genfixes script. * @@ -15,7 +15,7 @@ * certain ANSI-incompatible system header files which are fixed to work * correctly with ANSI C and placed in a directory that GNU C will search. * - * This file contains 212 fixup descriptions. + * This file contains 211 fixup descriptions. * * See README for more information. * @@ -5720,44 +5720,6 @@ extern \"C\" {\\\n\ /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Solaris_Cond_Init fix - */ -tSCC zSolaris_Cond_InitName[] = - "solaris_cond_init"; - -/* - * File name selection pattern - */ -tSCC zSolaris_Cond_InitList[] = - "pthread.h\0"; -/* - * Machine/OS name selection pattern - */ -tSCC* apzSolaris_Cond_InitMachs[] = { - "*-*-solaris2.8", - (const char*)NULL }; - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zSolaris_Cond_InitSelect0[] = - "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; - -#define SOLARIS_COND_INIT_TEST_CT 1 -static tTestDesc aSolaris_Cond_InitTests[] = { - { TT_EGREP, zSolaris_Cond_InitSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Solaris_Cond_Init - */ -static const char* apzSolaris_Cond_InitPatch[] = { - "format", - "%1, 0x4356%2", - "^(#define[ \t]+PTHREAD_COND_INITIALIZER[ \t]+\\{.*0)(\\},[ \t]*0\\}.*)$", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * * Description of Solaris_Cxx_Linkage fix */ tSCC zSolaris_Cxx_LinkageName[] = @@ -6725,7 +6687,7 @@ tSCC zSolaris_Sys_Va_ListList[] = * Machine/OS name selection pattern */ tSCC* apzSolaris_Sys_Va_ListMachs[] = { - "*-*-solaris2.[89]", + "*-*-solaris2.9", (const char*)NULL }; /* @@ -8630,9 +8592,9 @@ static const char* apzX11_SprintfPatch[] = { * * List of all fixes */ -#define REGEX_COUNT 255 +#define REGEX_COUNT 254 #define MACH_LIST_SIZE_LIMIT 181 -#define FIX_COUNT 212 +#define FIX_COUNT 211 /* * Enumerate the fixes @@ -8778,7 +8740,6 @@ typedef enum { SOLARIS___RESTRICT_FIXIDX, SOLARIS_COMPLEX_FIXIDX, SOLARIS_COMPLEX_CXX_FIXIDX, - SOLARIS_COND_INIT_FIXIDX, SOLARIS_CXX_LINKAGE_FIXIDX, SOLARIS_GETC_STRICT_STDC_FIXIDX, SOLARIS_LONGJMP_NORETURN_FIXIDX, @@ -9553,11 +9514,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = { SOLARIS_COMPLEX_CXX_TEST_CT, FD_MACH_ONLY, aSolaris_Complex_CxxTests, apzSolaris_Complex_CxxPatch, 0 }, - { zSolaris_Cond_InitName, zSolaris_Cond_InitList, - apzSolaris_Cond_InitMachs, - SOLARIS_COND_INIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aSolaris_Cond_InitTests, apzSolaris_Cond_InitPatch, 0 }, - { zSolaris_Cxx_LinkageName, zSolaris_Cxx_LinkageList, apzSolaris_Cxx_LinkageMachs, SOLARIS_CXX_LINKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def index 8f36077..2d632b3 100644 --- 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 index cb4cfc9..dc71916 100644 --- a/fixincludes/tests/base/pthread.h +++ b/fixincludes/tests/base/pthread.h @@ -75,16 +75,6 @@ extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask); #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/ChangeLog b/gcc/ChangeLog index a12bdeb..91590b2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,28 @@ 2012-03-14 Rainer Orth + * 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. + +2012-03-14 Rainer Orth + * config.gcc (enable_obsolete): Remove mips-sgi-irix6.5. (mips-sgi-irix6.5*): Remove. * config.host (mips-sgi-irix*): Remove. diff --git a/gcc/acinclude.m4 b/gcc/acinclude.m4 index a394847..84b828f 100644 --- 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 index 6fb3b35..bf05d44 100644 --- 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 @@ -1321,9 +1320,8 @@ i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) # 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.in b/gcc/config.in index 9b8d206..8806012 100644 --- a/gcc/config.in +++ b/gcc/config.in @@ -1606,12 +1606,6 @@ #endif -/* Define to the linker flags to use for -pthread. */ -#ifndef USED_FOR_TARGET -#undef LIB_THREAD_LDFLAGS_SPEC -#endif - - /* Define to the library containing __tls_get_addr/___tls_get_addr. */ #ifndef USED_FOR_TARGET #undef LIB_TLS_SPEC diff --git a/gcc/config/i386/sol2.h b/gcc/config/i386/sol2.h index 48dcfbb..43b34b8 100644 --- 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. If not see /* 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. If not see #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 index b265f15..670dbaa 100644 --- 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. If not see %{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 b/gcc/configure index ad34e55..9bf2298 100755 --- a/gcc/configure +++ b/gcc/configure @@ -22264,15 +22264,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. @@ -22470,22 +22461,6 @@ EOF _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : - 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 - else gcc_cv_initfini_array=no fi @@ -23611,10 +23586,9 @@ if test $gcc_cv_as_tls = yes; then fi 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.*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker and ld.so.1 TLS support" >&5 $as_echo_n "checking linker and ld.so.1 TLS support... " >&6; } @@ -23626,14 +23600,6 @@ $as_echo_n "checking linker and ld.so.1 TLS support... " >&6; } 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 @@ -23658,33 +23624,6 @@ $as_echo "$ld_tls_support" >&6; } LIBS= LDFLAGS= - { $as_echo "$as_me:${as_lineno-$LINENO}: checking alternate thread library" >&5 -$as_echo_n "checking alternate thread library... " >&6; } - 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. - -cat >>confdefs.h <<_ACEOF -#define LIB_THREAD_LDFLAGS_SPEC "$lwp_spec" -_ACEOF - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lwp_dir" >&5 -$as_echo "$lwp_dir" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking library containing $tga_func" >&5 $as_echo_n "checking library containing $tga_func... " >&6; } # Before Solaris 10, __tls_get_addr (SPARC/x64) resp. ___tls_get_addr @@ -23754,13 +23693,6 @@ fi 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. cat >>confdefs.h <<_ACEOF diff --git a/gcc/configure.ac b/gcc/configure.ac index c3d203a..807a410 100644 --- 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 index 96ae614..ab82fea 100644 --- 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/sig11/,,www.bitwizard.nl}. @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 only. @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 types are missing. These headers 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 testsuite driver. When the bug 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/ChangeLog b/gcc/testsuite/ChangeLog index c310aef..65ad686 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,20 @@ 2012-03-14 Rainer Orth + * 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. + +2012-03-14 Rainer Orth + * g++.dg/other/anon5.C: Don't skip on mips-sgi-irix*. * g++.dg/tree-prof/partition1.C: Likewise. * g++.dg/tree-prof/partition2.C: Likewise. diff --git a/gcc/testsuite/g++.dg/warn/miss-format-1.C b/gcc/testsuite/g++.dg/warn/miss-format-1.C index 0d8954d..0b3f6e9 100644 --- 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 index 3fe1473..b5727ee 100644 --- 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 index 794c18f..ce9dfac 100644 --- 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 index 9b87c5a..f56a5d4 100644 --- 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 index cd0a65d..91bc622 100644 --- 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 index c49fec0..4013b8d 100644 --- 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 index 34346d9..0ec78f6 100644 --- 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 index c1da4e9..38b40a2 100644 --- 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 index 6d24432..0b00169 100644 --- 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 index c2e2106..513369d 100644 --- 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 index c6acb03..b9a6601 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -569,11 +569,11 @@ proc check_effective_target_pcc_bitfield_type_matters { } { # 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/ChangeLog b/libcpp/ChangeLog index a8a949c..97177e8 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,7 @@ +2012-03-14 Rainer Orth + + * lex.c: Remove Solaris 8 reference. + 2012-02-14 Walter Lee * configure.ac: Require 64-bit hwint for tilegx and tilepro. diff --git a/libcpp/lex.c b/libcpp/lex.c index 0ad9660..05b9e2b 100644 --- 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, const uchar *end ATTRIBUTE_UNUSED) /* 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/ChangeLog b/libgcc/ChangeLog index bcefebb..5184a85 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,11 @@ +2012-03-14 Rainer Orth + + * 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. + 2012-03-13 H.J. Lu * unwind-dw2.c (_Unwind_SetGRValue): Assert DWARF register size diff --git a/libgcc/config/i386/sol2-unwind.h b/libgcc/config/i386/sol2-unwind.h index d93b60c..176fa69 100644 --- 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_Context *context, 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 index 1458950..6458ae2 100644 --- a/libgcc/config/sparc/sol2-unwind.h +++ b/libgcc/config/sparc/sol2-unwind.h @@ -36,44 +36,25 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 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, void *cfa, int *nframes) } 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, void *cfa, int *nframes) */ *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 _Unwind_Context *context, 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, void *cfa, int *nframes) 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, void *cfa, int *nframes) } 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, void *cfa, int *nframes) */ *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/libjava/ChangeLog b/libjava/ChangeLog index 5ccdf14..ccce6d8 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,5 +1,10 @@ 2012-03-14 Rainer Orth + * configure.ac (THREADLIBS): Remove *-*-solaris2.8 handling. + * configure: Regenerate. + +2012-03-14 Rainer Orth + * configure.ac (libgcj_cv_exidx): Remove IRIX 6 ld workaround. (mips-sgi-irix6*): Remove. (mips-sgi-irix*): Remove. diff --git a/libjava/configure b/libjava/configure index a6d4f28..43fd51f 100755 --- a/libjava/configure +++ b/libjava/configure @@ -20740,16 +20740,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/libjava/configure.ac b/libjava/configure.ac index 488d0fa..351b2bd 100644 --- 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/ChangeLog b/libstdc++-v3/ChangeLog index 1014cca..3da865f 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,45 @@ 2012-03-14 Rainer Orth + * 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. + +2012-03-14 Rainer Orth + * configure.host (irix6.5*): Remove. * config/os/irix: Remove. * config/io/basic_file_stdio.cc (__basic_file::showmanyc()) diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index 56711c0..01b06e4 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -1715,100 +1715,6 @@ AC_DEFUN([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS], [ ]) 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.h.in b/libstdc++-v3/config.h.in index 4dea92b..3a29967 100644 --- a/libstdc++-v3/config.h.in +++ b/libstdc++-v3/config.h.in @@ -848,21 +848,6 @@ /* Define to 1 if mutex_timedlock is available. */ #undef _GTHREAD_USE_MUTEX_TIMEDLOCK -/* Define if all C++ overloads are available in . */ -#if __cplusplus >= 199711L -#undef __CORRECT_ISO_CPP_MATH_H_PROTO1 -#endif - -/* Define if only double std::abs(double) is available in . */ -#if __cplusplus >= 199711L -#undef __CORRECT_ISO_CPP_MATH_H_PROTO2 -#endif - -/* Define if all C++ overloads are available in . */ -#if __cplusplus >= 199711L -#undef __CORRECT_ISO_CPP_STDLIB_H_PROTO -#endif - #if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF) # define HAVE_ACOSF 1 # define acosf _acosf diff --git a/libstdc++-v3/config/abi/post/solaris2.8/baseline_symbols.txt b/libstdc++-v3/config/abi/post/solaris2.9/baseline_symbols.txt similarity index 100% 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 similarity index 100% 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 similarity index 100% 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 similarity index 100% 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 similarity index 100% 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 similarity index 75% rename from libstdc++-v3/config/os/solaris/solaris2.8/os_defines.h rename to libstdc++-v3/config/os/solaris/solaris2.9/os_defines.h index 82c1ec1..e3bed13 100644 --- 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 b/libstdc++-v3/configure index 9e5731f..727979b 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -17302,127 +17302,6 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - 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. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for float std::abs(float) overload" >&5 -$as_echo_n "checking for float std::abs(float) overload... " >&6; } - if test "${glibcxx_cv_abs_float+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - namespace std { - inline float abs(float __x) - { return __builtin_fabsf(__x); } - } - -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - glibcxx_cv_abs_float=no -else - glibcxx_cv_abs_float=yes - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - - - # autoheader cannot handle indented templates. - - - - if test $glibcxx_cv_abs_float = yes; then - $as_echo "#define __CORRECT_ISO_CPP_MATH_H_PROTO1 1" >>confdefs.h - - else - $as_echo "#define __CORRECT_ISO_CPP_MATH_H_PROTO2 1" >>confdefs.h - - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_abs_float" >&5 -$as_echo "$glibcxx_cv_abs_float" >&6; } - ;; - esac - - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - - - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - - 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. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long std::abs(long) overload" >&5 -$as_echo_n "checking for long std::abs(long) overload... " >&6; } - if test "${glibcxx_cv_abs_long+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - namespace std { - inline long - abs(long __i) { return labs(__i); } - } - -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - glibcxx_cv_abs_long=no -else - glibcxx_cv_abs_long=yes - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - - - # autoheader cannot handle indented templates. - - if test $glibcxx_cv_abs_long = yes; then - $as_echo "#define __CORRECT_ISO_CPP_STDLIB_H_PROTO 1" >>confdefs.h - - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_abs_long" >&5 -$as_echo "$glibcxx_cv_abs_long" >&6; } - ;; - esac - - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - - - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gets declaration" >&5 $as_echo_n "checking for gets declaration... " >&6; } if test "${glibcxx_cv_gets+set}" = set; then : @@ -63713,7 +63592,7 @@ done ;; *-solaris*) case "$target" in - *-solaris2.8 | *-solaris2.9 | *-solaris2.10) + *-solaris2.9 | *-solaris2.10) # If we're not using GNU ld, then there's no point in even trying these # tests. Check for that first. We should have already tested for gld @@ -65622,9 +65501,9 @@ main () _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : 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/configure.ac b/libstdc++-v3/configure.ac index f04563e..3853472 100644 --- 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 index 97b5233..8f29bc2 100644 --- 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 index 361ed0b..3850879 100644 --- 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 index 727d886..83443ef 100644 --- 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 index 75d1a02..d488c77 100644 --- 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(default) { _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 index e702bee..abfb8b1 100644 --- 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 index 70f74fd..d746b748 100644 --- 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 index dcadf86..73384b4 100644 --- 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 index 0030000..e23b886 100644 --- 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 -- 2.7.4