Now that 4.9 has branched, it's time to actually remove the obsolete Solaris 9 configuration. Most of this is just legwork and falls under my Solaris maintainership. A couple of questions, though: * David: In target-supports.exp (add_options_for_tls), the comment needs to be updated with Solaris 9 support gone. Is it completely accurate for AIX, even wrt. __tls_get_addr/___tls_get_addr? * Uros: I'm removing all sse_os_support() checks from the testsuite. Solaris 9 was the only consumer, so it seems best to do away with it. * Eric: In libgcc/config/sparc/sol2-unwind.h, I've removed the Solaris 9 cases after verifying that the cuh_pattern's used there only occur in Solaris 9 (from FCS to the latest libthread.so.1 patch), but not even in Solaris 10 FCS. For Solaris 10, do you have any more details on when the 2-frame case occurs? I've found that patch submission http://gcc.gnu.org/ml/gcc-patches/2010-10/msg02370.html but no details on what S10 update/patch this happens with. * Ian: I've removed Solaris 8 and 9 support from libgo. I'm uncertain if you want this or rather keep that support for the 4.[789] branches? * I'm removing the check from classpath. Again, I'm uncertain if this is desirable. In the past, classpath changes were merged upstream by one of the libjava maintainers. I've already verified that trunk fails to build no sparc-sun-solaris2.9 and i386-pc-solaris2.9. Bootstraps on {i386,sparc}-*-solaris2.{10,11} (and x86_64-unknown-linux-gnu for good measure) are in progress. I'll verify that there are no unexpected fixincludes changes and differences in gcc configure results. If testing goes well, unless someone objects I'll probably check in everything but the classpath and libgo parts after the easter weekend. After that patch, all Solaris configurations are bi-arch, so I'll later post another patch to merge and/or rename some of the t-* fragments and config headers. There's probably more cleanup potential even after that. Rainer 2014-01-06 Rainer Orth libstdc++-v3: * configure.host: Remove solaris2.9 handling. Change os_include_dir to os/solaris/solaris2.10. * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling. * crossconfig.m4: Remove *-solaris2.9 handling, simplify. * configure: Regenerate. * config/abi/post/solaris2.9: Remove. * config/os/solaris/solaris2.9: Rename to ... * config/os/solaris/solaris2.10: ... this. * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC): Remove. * doc/xml/manual/configure.xml (--enable-libstdcxx-threads): Remove Solaris 9 reference. * doc/html/manual/configure.html: Regenerate. * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc: Remove *-*-solaris2.9 xfail. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc: Likewise. * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9 xfail. libjava: * configure.ac (THREADLIBS, THREADSPEC): Remove *-*-solaris2.9 handling. * configure: Regenerate. libjava/classpath: * configure.ac: Don't check for sys/loadavg.h. * configure: Regenerate. * include/config.h.in: Regenerate. * native/jni/java-lang/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.c [HAVE_SYS_LOADAVG_H]: Don't include . libgo: * configure.ac (OSCFLAGS): Remove *-*-solaris2.[89] handling. (libgo_cv_lib_makecontext_stack_top): Remove. * configure: Regenerate. * config.h.in: Regenerate. * go/math/ldexp.go (Ldexp): Remove Solaris 9 workaround. * runtime/proc.c (runtime_newextram) [MAKECONTEXT_STACK_TOP]: Remove. libgfortran: * config/fpu-387.h [__sun__ && __svr4__]: Remove SSE execution check. libgcc: * config/i386/crtfastmath.c (set_fast_math): Remove SSE execution check. * config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove Solaris 9 support. * config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove Solaris 9 support. Add call_user_handler code sequences. (sparc_is_sighandler): Likewise. libcpp: * lex.c: Remove Solaris 9 reference. gcc/testsuite: * gcc.c-torture/compile/pr28865.c: Remove dg-xfail-if. * gcc.dg/c99-stdint-6.c: Remove dg-options for *-*-solaris2.9. * gcc.dg/lto/20090210_0.c: Remove dg-extra-ld-options for *-*-solaris2.9. * gcc.dg/torture/pr47917.c: Remove dg-options for *-*-solaris2.9. * gcc.target/i386/pr22076.c: Remove i?86-*-solaris2.9 handling from dg-options. * gcc.target/i386/pr22152.c: Remove i?86-*-solaris2.9 handling from dg-additional-options. * gcc.target/i386/vect8-ret.c: Remove i?86-*-solaris2.9 handling from dg-options. * gcc.dg/vect/tree-vect.h (check_vect): Remove Solaris 9 SSE2 execution check. * gcc.target/i386/sse-os-support.h: Remove. * gcc.target/i386/pr52754.c: Don't include sse-os-support.h. (main): Remove call to sse_os_support(). * gcc.target/i386/sse-check.h: Likewise. * gcc.target/i386/sse2-check.h: Likewise. * gcc.target/i386/sse3-check.h: Likewise. * gcc.target/i386/vperm-v2df.c: Likewise. * gcc.target/i386/vperm-v2di.c: Likewise. * gcc.target/i386/vperm-v4sf-1.c: Likewise. * gcc.target/i386/vperm-v4si-1.c: Likewise. * gfortran.dg/erf_3.F90: Remove sparc*-*-solaris2.9* handling. * gfortran.dg/fmt_en.f90: Remove i?86-*-solaris2.9* handling. * gfortran.dg/round_4.f90: Remove *-*-solaris2.9* handling. * lib/target-supports.exp (add_options_for_tls): Remove *-*-solaris2.9* handling. gcc: * config.gcc (enable_obsolete): Remove *-*-solaris2.9*. (*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported. (*-*-solaris2*): Simplify. (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise. (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove *-*-solaris2.9* handling. * configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86 as bug. (gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling. (ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9 handling, simplify. (gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug. * configure: Regenerate. * config/i386/sol2-9.h: Remove. * doc/install.texi (Specific, i?86-*-solaris2.9): Remove. (Specific, *-*-solaris2*): Mention Solaris 9 support removal. Remove Solaris 9 references. fixincludes: * inclhack.def (math_exception): Bypass on *-*-solaris2.1[0-9]*. (solaris_int_types): Remove. (solaris_longjmp_noreturn): Remove. (solaris_mutex_init_2): Remove. (solaris_once_init_2): Remove. (solaris_sys_va_list): Remove. * fixincl.x: Regenerate. * tests/base/iso/setjmp_iso.h: Remove. * tests/base/pthread.h [SOLARIS_MUTEX_INIT_2_CHECK]: Remove. [SOLARIS_ONCE_INIT_2_CHECK]: Remove. * tests/base/sys/int_types.h: Remove. * tests/base/sys/va_list.h: Remove. contrib: * config-list.mk (LIST): Remove sparc-sun-solaris2.9, i686-solaris2.9.