With the GCC 9.1 release out of the door, this patch implements the removal of Solaris 10 support that had been obsoleted in GCC 9.
The patch is mostly straightforward: * removing Solaris 10-only code and documentation, * simplifying configure triplets, using *-*-solaris2* everywhere since this effectively means *-*-solaris2.11* now, and * simplifying the v3 Solaris baselines and configuration since there's now only a single one left. (Just FTR, I've omitted the baseline renames and removals from the patch below to avoid blowing it up to insane sizes.) Bootstrapped without regressions on i386-pc-solaris2.11 and sparc-sun-solaris2.11 and tested on i386-pc-solaris2.10 to make sure the configuration is properly rejected. I've also inspected the resulting gccinstall.info and gccinstall.pdf. The vast majority of the patch falls squarely under my Solaris maintainership. I'm uncertain about the libbacktrace/configure.ac bit and will submit the libgo part separately. There are primarily two areas left with Solaris 10 references in them: * fixincludes/inclhack.def: I'll have to check in great detail which of the fixes apply to Solaris 10 only and can thus be removed. * libgcc/config/sparc/sol2-unwind.h: Again, it's difficult to tell which cases only applied to Solaris 10 and can go. I'll give maintainers a day or two to comment before committing. Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University 2019-05-10 Rainer Orth <r...@cebitec.uni-bielefeld.de> libstdc++-v3: * config/os/solaris/solaris2.10: Move to ... * config/os/solaris: ... this. * configure.host (os_include_dir): Adapt. (abi_baseline_pair): Remove Solaris 10 handling. * config/abi/post/i386-solaris2.10: Remove. * config/abi/post/sparc-solaris2.10: Remove. * config/abi/post/i386-solaris2.11: Rename to ... * config/abi/post/i386-solaris: ... this. * config/abi/post/sparc-solaris2.11: Rename to ... * config/abi/post/sparc-solaris: ... this. * libsupc++/new_opa.cc [_GLIBCXX_HAVE_MEMALIGN] [__sun__]: Remove workaround. * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.10 xfail. libsanitizer: * configure.ac (have_dl_iterate_phdr): Remove *-*-solaris2.10* handling. * configure: Regenerate. libgcc: * config.host: Simplify various *-*-solaris2.1[0-9]* to *-*-solaris2*. * configure.ac: Likewise. * configure: Regenerate. * config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove Solaris 10 and Solaris 11 < snv_125 handling. libbacktrace: * configure.ac (have_dl_iterate_phdr): Remove *-*-solaris2.10* handling. * configure: Regenerate. gcc/testsuite: * gcc.dg/atomic/c11-atomic-exec-4.c: Simplify triplet to *-*-solaris2*. * gcc.dg/atomic/c11-atomic-exec-5.c: Likewise. * gcc.dg/c99-math-double-1.c: Likewise. * gcc.dg/c99-math-float-1.c: Likewise. * gcc.dg/c99-math-long-double-1.c: Likewise. * gcc.misc-tests/linkage.exp: Simplify triplet to x86_64-*-solaris2*. * gcc.target/i386/mcount_pic.c: Remove *-*-solaris2.10* && !gld xfail. * gcc.target/i386/pr63620.c: Likewise. * lib/target-supports.exp (check_sse_os_support_available): Remove Solaris 9/x86 workaround. gcc: * config.gcc: Move *-*-solaris2.10* from obsolete configurations to unsupported ones. Simplify x86_64-*-solaris2.1[0-9]* to x86_64-*-solaris2*. * config.host: Likewise. * config/i386/sol2.h (ASM_COMMENT_START): Remove. * config/sparc/driver-sparc.c (host_detect_local_cpu) [__sun__ && __svr4__]: Remove "brand" fallback. [!KSTAT_DATA_STRING]: Remove. * configure.ac (gcc_cv_ld_hidden): Simplify *-*-solaris2.1[0-9]* to *-*-solaris2*. (comdat_group): Likewise. (set_have_as_tls): Likewise. (gcc_cv_target_dl_iterate_phdr): Likewise. (gcc_cv_as_shf_merge): Remove Solaris 10/x86 workaround. (gcc_cv_ld_aligned_shf_merge): Remove Solaris 10/SPARC workaround. * configure: Regenerate. * doc/install.texi: Simplify Solaris target triplets. (Specific, i?86-*-solaris2*): Remove Solaris 10 references. (Specific, *-*-solaris2*): Document Solaris 10 removal. Remove Solaris 10 references. Remove obsolete Solaris bug reference. (Specific, sparc-sun-solaris2.10): Remove.
# HG changeset patch # Parent 166b07563e3885f04c3f8095926e6c33092f7349 Remove obsolete Solaris 10 support diff --git a/gcc/config.gcc b/gcc/config.gcc --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -247,8 +247,7 @@ md_file= # Obsolete configurations. case ${target} in - *-*-solaris2.10* \ - | spu*-*-* \ + spu*-*-* \ | tile*-*-* \ ) if test "x$enable_obsolete" != xyes; then @@ -293,6 +292,7 @@ case ${target} in | *-*-solaris2 \ | *-*-solaris2.[0-9] \ | *-*-solaris2.[0-9].* \ + | *-*-solaris2.10* \ | *-*-sysv* \ | vax-*-vms* \ ) @@ -1794,7 +1794,7 @@ i[34567]86-*-rtems*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/rtemself.h rtems.h newlib-stdint.h" tmake_file="${tmake_file} i386/t-rtems" ;; -i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) +i[34567]86-*-solaris2* | x86_64-*-solaris2*) # Set default arch_32 to pentium4, tune_32 to generic like the other # i386 targets, although config.guess defaults to i386-pc-solaris2*. with_arch_32=${with_arch_32:-pentium4} @@ -4914,7 +4914,7 @@ case ${target} in i[34567]86-*-msdosdjgpp*) tmake_file="${tmake_file} i386/t-djgpp" ;; - i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) + i[34567]86-*-solaris2* | x86_64-*-solaris2*) ;; i[34567]86-*-cygwin* | x86_64-*-cygwin*) ;; diff --git a/gcc/config.host b/gcc/config.host --- a/gcc/config.host +++ b/gcc/config.host @@ -213,7 +213,7 @@ case ${host} in out_host_hook_obj=host-hpux.o host_xmake_file="${host_xmake_file} x-hpux" ;; - i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) + i[34567]86-*-solaris2* | x86_64-*-solaris2*) out_host_hook_obj=host-solaris.o host_xmake_file="${host_xmake_file} x-solaris" ;; 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 @@ -117,11 +117,6 @@ along with GCC; see the file COPYING3. #undef LOCAL_LABEL_PREFIX #define LOCAL_LABEL_PREFIX "." -/* The Solaris 10 FCS as doesn't accept "#" comments, while later versions - do. */ -#undef ASM_COMMENT_START -#define ASM_COMMENT_START "/" - /* The 32-bit Solaris assembler does not support .quad. Do not use it. */ #ifndef HAVE_AS_IX86_QUAD #undef ASM_QUAD diff --git a/gcc/config/sparc/driver-sparc.c b/gcc/config/sparc/driver-sparc.c --- a/gcc/config/sparc/driver-sparc.c +++ b/gcc/config/sparc/driver-sparc.c @@ -134,19 +134,8 @@ host_detect_local_cpu (int argc, const c && ksp->ks_type == KSTAT_TYPE_NAMED) brand = (kstat_named_t *) kstat_data_lookup (ksp, CONST_CAST2 (char *, const char *, "brand")); - /* "brand" was only introduced in Solaris 10. */ - if (brand == NULL) - brand = (kstat_named_t *) - kstat_data_lookup (ksp, CONST_CAST2 (char *, const char *, - "implementation")); - /* KSTAT_DATA_STRING was introduced in Solaris 9. */ -#ifdef KSTAT_DATA_STRING if (brand != NULL && brand->data_type == KSTAT_DATA_STRING) buf = KSTAT_NAMED_STR_PTR (brand); -#else - if (brand != NULL && brand->data_type == KSTAT_DATA_CHAR) - buf = brand->value.c; -#endif } kstat_close (kc); diff --git a/gcc/configure.ac b/gcc/configure.ac --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -2751,7 +2751,7 @@ else hppa64*-*-hpux* | ia64*-*-hpux*) gcc_cv_ld_hidden=yes ;; - *-*-solaris2.1[0-9]*) + *-*-solaris2*) # Support for .hidden in Sun ld appeared in Solaris 9 FCS, but # .symbolic was only added in Solaris 9 12/02. gcc_cv_ld_hidden=yes @@ -3075,27 +3075,12 @@ if test $gcc_cv_as_shf_merge = no; then [elf,2,12,0], [--fatal-warnings], [.section .rodata.str, "aMS", %progbits, 1]) fi -case "$target" in - i?86-*-solaris2.10* | x86_64-*-solaris2.10*) - # SHF_MERGE support in Solaris 10/x86 ld is broken. - if test x"$gnu_ld" = xno; then - gcc_cv_as_shf_merge=no - fi - ;; -esac AC_DEFINE_UNQUOTED(HAVE_GAS_SHF_MERGE, [`if test $gcc_cv_as_shf_merge = yes; then echo 1; else echo 0; fi`], [Define 0/1 if your assembler supports marking sections with SHF_MERGE flag.]) gcc_cv_ld_aligned_shf_merge=yes case "$target" in - # While Solaris 10/SPARC ld isn't affected, disable to avoid problems - # relinking on Solaris 11 < 11.4. - sparc*-*-solaris2.10*) - if test x"$gnu_ld" = xno; then - gcc_cv_ld_aligned_shf_merge=no - fi - ;; # SHF_MERGE support is broken in Solaris ld up to Solaris 11.3/SPARC for # alignment > 1. sparc*-*-solaris2.11*) @@ -3141,7 +3126,7 @@ else foo: ' ;; - i?86-*-solaris2* | x86_64-*-solaris2.1[[0-9]]*) + i?86-*-solaris2* | x86_64-*-solaris2*) conftest_s=' .group foo,.text%foo,#comdat .section .text%foo, "ax", @progbits @@ -3364,7 +3349,7 @@ foo: .long 25 ;; i[34567]86-*-* | x86_64-*-*) case "$target" in - i[34567]86-*-solaris2.* | x86_64-*-solaris2.1[0-9]*) + i[34567]86-*-solaris2.* | x86_64-*-solaris2.*) on_solaris=yes ;; *) @@ -6097,11 +6082,7 @@ fi AC_MSG_CHECKING(dl_iterate_phdr in target C library) gcc_cv_target_dl_iterate_phdr=unknown case "$target" in - # Restrict to Solaris 11+. While most of the Solaris 11 linker changes - # were backported to Solaris 10 Update 10, dl_iterate_phdr only lives in - # libdl there, both complicating its use and breaking compatibility - # between Solaris 10 updates. - *-*-solaris2.1[[1-9]]*) + *-*-solaris2*) # <link.h> needs both a dl_iterate_phdr declaration and support for # compilation with largefile support. if grep dl_iterate_phdr $target_header_dir/link.h > /dev/null 2>&1 \ diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -3270,7 +3270,7 @@ information have to. @item @uref{#alpha-x-x,,alpha*-*-*} @item -@uref{#amd64-x-solaris210,,amd64-*-solaris2.10} +@uref{#amd64-x-solaris2,,amd64-*-solaris2*} @item @uref{#arm-x-eabi,,arm-*-eabi} @item @@ -3294,7 +3294,7 @@ information have to. @item @uref{#ix86-x-linux,,i?86-*-linux*} @item -@uref{#ix86-x-solaris210,,i?86-*-solaris2.10} +@uref{#ix86-x-solaris2,,i?86-*-solaris2*} @item @uref{#ia64-x-linux,,ia64-*-linux} @item @@ -3370,8 +3370,6 @@ information have to. @item @uref{#sparc-sun-solaris2,,sparc-sun-solaris2*} @item -@uref{#sparc-sun-solaris210,,sparc-sun-solaris2.10} -@item @uref{#sparc-x-linux,,sparc-*-linux*} @item @uref{#sparc64-x-solaris2,,sparc64-*-solaris2*} @@ -3392,7 +3390,7 @@ information have to. @item @uref{#x86-64-x-x,,x86_64-*-*, amd64-*-*} @item -@uref{#x86-64-x-solaris210,,x86_64-*-solaris2.1[0-9]*} +@uref{#x86-64-x-solaris2,,x86_64-*-solaris2*} @item @uref{#xtensa-x-elf,,xtensa*-*-elf} @item @@ -3474,9 +3472,9 @@ shared libraries. @html <hr /> @end html -@anchor{amd64-x-solaris210} -@heading amd64-*-solaris2.1[0-9]* -This is a synonym for @samp{x86_64-*-solaris2.1[0-9]*}. +@anchor{amd64-x-solaris2} +@heading amd64-*-solaris2* +This is a synonym for @samp{x86_64-*-solaris2*}. @html <hr /> @@ -3911,32 +3909,29 @@ found on @uref{http://www.bitwizard.nl/s @html <hr /> @end html -@anchor{ix86-x-solaris210} -@heading i?86-*-solaris2.10 -Use this for Solaris 10 or later on x86 and x86-64 systems. Starting -with GCC 4.7, there is also a 64-bit @samp{amd64-*-solaris2.1[0-9]*} or -@samp{x86_64-*-solaris2.1[0-9]*} configuration that corresponds to +@anchor{ix86-x-solaris2} +@heading i?86-*-solaris2* +Use this for Solaris 11 or later on x86 and x86-64 systems. Starting +with GCC 4.7, there is also a 64-bit @samp{amd64-*-solaris2*} or +@samp{x86_64-*-solaris2*} configuration that corresponds to @samp{sparcv9-sun-solaris2*}. It is recommended that you configure GCC to use the GNU assembler. The -versions included in Solaris 10, from GNU binutils 2.15 (in -@file{/usr/sfw/bin/gas}), and Solaris 11, from GNU binutils 2.19 or +versions included in Solaris 11, from GNU binutils 2.19 or newer (also available as @file{/usr/bin/gas} and @file{/usr/gnu/bin/as}), work fine. The current version, from GNU -binutils 2.29, is known to work, but the version from GNU binutils 2.26 +binutils 2.32, is known to work, but the version from GNU binutils 2.26 must be avoided. Recent versions of the Solaris assembler in @file{/usr/ccs/bin/as} work almost as well, though. @c FIXME: as patch requirements? For linking, the Solaris linker, is preferred. If you want to use the GNU -linker instead, note that due to a packaging bug the version in Solaris -10, from GNU binutils 2.15 (in @file{/usr/sfw/bin/gld}), cannot be used, -while the version in Solaris 11, from GNU binutils 2.19 or newer (also -in @file{/usr/gnu/bin/ld} and @file{/usr/bin/gld}), works, as does the -latest version, from GNU binutils 2.29. +linker instead, the version in Solaris 11, from GNU binutils 2.19 or +newer (also in @file{/usr/gnu/bin/ld} and @file{/usr/bin/gld}), works, +as does the latest version, from GNU binutils 2.32. To use GNU @command{as}, configure with the options -@option{--with-gnu-as --with-as=@//usr/@/sfw/@/bin/@/gas}. It may be necessary +@option{--with-gnu-as --with-as=@//usr/@/gnu/@/bin/@/as}. It may be necessary to configure with @option{--without-gnu-ld --with-ld=@//usr/@/ccs/@/bin/@/ld} to guarantee use of Sun @command{ld}. @c FIXME: why --without-gnu-ld --with-ld? @@ -4512,16 +4507,11 @@ supported as cross-compilation target on @c alone is too unspecific and must be avoided. @anchor{x-x-solaris2} @heading *-*-solaris2* -Support for Solaris 10 has been obsoleted in GCC 9, but can still be -enabled by configuring with @option{--enable-obsolete}. Support will be -removed in GCC 10. Support for Solaris 9 has been removed in GCC 5. -Support for Solaris 8 has been 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 -11, GCC 3.4.3 is available as @command{/usr/sfw/bin/gcc}. Solaris 11 -also provides GCC 4.5.2, 4.7.3, and 4.8.2 as +Support for Solaris 10 has been removed in GCC 10. Support for Solaris +9 has been removed in GCC 5. Support for Solaris 8 has been removed in +GCC 4.8. Support for Solaris 7 has been removed in GCC 4.6. + +Solaris 11 provides GCC 4.5.2, 4.7.3, and 4.8.2 as @command{/usr/gcc/4.5/bin/gcc} or similar. Alternatively, you can install a pre-built GCC to bootstrap and install GCC. See the @uref{binaries.html,,binaries page} for details. @@ -4540,21 +4530,8 @@ and proceed as described in @uref{config In addition we strongly recommend specifying an absolute path to invoke @command{@var{srcdir}/configure}. -Solaris 10 comes with a number of optional OS packages. Some of these -are needed to use GCC fully, namely @code{SUNWarc}, -@code{SUNWbtool}, @code{SUNWesu}, @code{SUNWhea}, @code{SUNWlibm}, -@code{SUNWsprot}, and @code{SUNWtoo}. If you did not install all -optional packages when installing Solaris 10, you will need to verify that -the packages that GCC needs are installed. -To check whether an optional package is installed, use -the @command{pkginfo} command. To add an optional package, use the -@command{pkgadd} command. For further details, see the Solaris 10 -documentation. - -Starting with Solaris 11, the package management has changed, so you -need to check for @code{system/header}, @code{system/linker}, and -@code{developer/assembler} packages. Checking for and installing -packages is done with the @command{pkg} command now. +In Solaris 11, you need to check for @code{system/header}, +@code{system/linker}, and @code{developer/assembler} packages. Trying to use the linker and other tools in @file{/usr/ucb} to install GCC has been observed to cause trouble. @@ -4567,20 +4544,18 @@ have @file{/usr/xpg4/bin} in your @env{P We recommend the use of the Solaris assembler or the GNU assembler, in conjunction with the Solaris linker. The GNU @command{as} -versions included in Solaris 10, from GNU binutils 2.15 (in -@file{/usr/sfw/bin/gas}), and Solaris 11, +versions included in Solaris 11, from GNU binutils 2.19 or newer (also in @file{/usr/bin/gas} and @file{/usr/gnu/bin/as}), are known to work. -The current version, from GNU binutils 2.29, +The current version, from GNU binutils 2.32, is known to work as well. Note that your mileage may vary if you use a combination of the GNU tools and the Solaris tools: while the combination GNU @command{as} + Sun @command{ld} should reasonably work, the reverse combination Sun @command{as} + GNU @command{ld} may fail to build or cause memory corruption at runtime in some cases for C++ programs. @c FIXME: still? -GNU @command{ld} usually works as well, although the version included in -Solaris 10 cannot be used due to several bugs. Again, the current -version (2.29) is known to work, but generally lacks platform specific +GNU @command{ld} usually works as well. Again, the current +version (2.32) is known to work, but generally lacks platform specific features, so better stay with Solaris @command{ld}. To use the LTO linker plugin (@option{-fuse-linker-plugin}) with GNU @command{ld}, GNU binutils @emph{must} be configured with @option{--enable-largefile}. @@ -4591,13 +4566,6 @@ GNU binutils. @samp{libstdc++} symbol v appropriate version is found. Solaris @command{c++filt} from the Solaris Studio compilers does @emph{not} work. -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} -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. - @html <hr /> @end html @@ -4644,22 +4612,6 @@ not that of GMP or MPFR or MPC). For ex @html <hr /> @end html -@anchor{sparc-sun-solaris210} -@heading sparc-sun-solaris2.10 -There is a bug in older versions of the Sun assembler which breaks -thread-local storage (TLS). A typical error message is - -@smallexample -ld: fatal: relocation error: R_SPARC_TLS_LE_HIX22: file /var/tmp//ccamPA1v.o: - symbol <unknown>: bad symbol type SECT: symbol type must be TLS -@end smallexample - -@noindent -This bug is fixed in Sun patch 118683-03 or later. - -@html -<hr /> -@end html @anchor{sparc-x-linux} @heading sparc-*-linux* @@ -4772,8 +4724,8 @@ both 64-bit x86-64 and 32-bit x86 code ( @html <hr /> @end html -@anchor{x86-64-x-solaris210} -@heading x86_64-*-solaris2.1[0-9]* +@anchor{x86-64-x-solaris2} +@heading x86_64-*-solaris2* GCC also supports the x86-64 architecture implemented by the AMD64 processor (@samp{amd64-*-*} is an alias for @samp{x86_64-*-*}) on Solaris 10 or later. Unlike other systems, without special options a diff --git a/gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-4.c b/gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-4.c --- a/gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-4.c +++ b/gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-4.c @@ -3,7 +3,7 @@ out in two threads. */ /* { dg-do run } */ /* { dg-options "-std=c11 -pedantic-errors -pthread -U_POSIX_C_SOURCE -D_POSIX_C_SOURCE=200809L" } */ -/* { dg-additional-options "-D_XOPEN_SOURCE=600" { target *-*-solaris2.1[0-9]* } } */ +/* { dg-additional-options "-D_XOPEN_SOURCE=600" { target *-*-solaris2* } } */ /* { dg-require-effective-target pthread } */ #include <stdint.h> diff --git a/gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-5.c b/gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-5.c --- a/gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-5.c +++ b/gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-5.c @@ -6,7 +6,7 @@ /* { dg-options "-std=c11 -pedantic-errors -pthread -U_POSIX_C_SOURCE -D_POSIX_C_SOURCE=200809L" } */ /* { dg-add-options ieee } */ /* { dg-additional-options "-mfp-trap-mode=sui" { target alpha*-*-* } } */ -/* { dg-additional-options "-D_XOPEN_SOURCE=600" { target *-*-solaris2.1[0-9]* } } */ +/* { dg-additional-options "-D_XOPEN_SOURCE=600" { target *-*-solaris2* } } */ /* { dg-require-effective-target fenv_exceptions } */ /* { dg-require-effective-target pthread } */ /* { dg-timeout-factor 2 } */ diff --git a/gcc/testsuite/gcc.dg/c99-math-double-1.c b/gcc/testsuite/gcc.dg/c99-math-double-1.c --- a/gcc/testsuite/gcc.dg/c99-math-double-1.c +++ b/gcc/testsuite/gcc.dg/c99-math-double-1.c @@ -1,4 +1,4 @@ -/* { dg-do run { target *-*-solaris2.1[0-9]* } } */ +/* { dg-do run { target *-*-solaris2* } } */ /* { dg-options "-std=c99 -O" } */ #include <math.h> diff --git a/gcc/testsuite/gcc.dg/c99-math-float-1.c b/gcc/testsuite/gcc.dg/c99-math-float-1.c --- a/gcc/testsuite/gcc.dg/c99-math-float-1.c +++ b/gcc/testsuite/gcc.dg/c99-math-float-1.c @@ -1,4 +1,4 @@ -/* { dg-do run { target *-*-solaris2.1[0-9]* } } */ +/* { dg-do run { target *-*-solaris2* } } */ /* { dg-options "-std=c99 -O" } */ #include <math.h> diff --git a/gcc/testsuite/gcc.dg/c99-math-long-double-1.c b/gcc/testsuite/gcc.dg/c99-math-long-double-1.c --- a/gcc/testsuite/gcc.dg/c99-math-long-double-1.c +++ b/gcc/testsuite/gcc.dg/c99-math-long-double-1.c @@ -1,4 +1,4 @@ -/* { dg-do run { target *-*-solaris2.1[0-9]* } } */ +/* { dg-do run { target *-*-solaris2* } } */ /* { dg-options "-std=c99 -O" } */ #include <math.h> diff --git a/gcc/testsuite/gcc.misc-tests/linkage.exp b/gcc/testsuite/gcc.misc-tests/linkage.exp --- a/gcc/testsuite/gcc.misc-tests/linkage.exp +++ b/gcc/testsuite/gcc.misc-tests/linkage.exp @@ -44,7 +44,7 @@ if { [isnative] && ![is_remote host] } t set native_cflags "-xarch=v9" } } - if {[istarget "i?86*-*-solaris2*"] || [istarget "x86_64-*-solaris2.1\[0-9\]*"]} { + if {[istarget "i?86*-*-solaris2*"] || [istarget "x86_64-*-solaris2*"]} { set file_string [exec file "linkage-x.o"] if [ string match "*64*" $file_string ] { set native_cflags "-xarch=amd64" diff --git a/gcc/testsuite/gcc.target/i386/mcount_pic.c b/gcc/testsuite/gcc.target/i386/mcount_pic.c --- a/gcc/testsuite/gcc.target/i386/mcount_pic.c +++ b/gcc/testsuite/gcc.target/i386/mcount_pic.c @@ -11,5 +11,5 @@ int main () } /* { dg-final { scan-assembler "mcount" } } */ -/* { dg-final { scan-assembler "get_pc_thunk" { xfail { *-*-solaris2.10* && { ! gld } } } } } */ +/* { dg-final { scan-assembler "get_pc_thunk" } } */ /* { dg-final { cleanup-profile-file } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr63620.c b/gcc/testsuite/gcc.target/i386/pr63620.c --- a/gcc/testsuite/gcc.target/i386/pr63620.c +++ b/gcc/testsuite/gcc.target/i386/pr63620.c @@ -17,4 +17,4 @@ test (__float128 x, int p, func f) return x; } -/* { dg-final { scan-assembler "get_pc_thunk" { xfail { *-*-solaris2.10* && { ! gld } } } } } */ +/* { dg-final { scan-assembler "get_pc_thunk" } } */ 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 @@ -1590,16 +1590,6 @@ proc check_sse_os_support_available { } # If this is not the right target then we can skip the test. if { !([istarget i?86-*-*] || [istarget x86_64-*-*]) } { expr 0 - } elseif { [istarget i?86-*-solaris2*] } { - # The Solaris 2 kernel doesn't save and restore SSE registers - # before Solaris 9 4/04. Before that, executables die with SIGILL. - check_runtime_nocache sse_os_support_available { - int main () - { - asm volatile ("movaps %xmm0,%xmm0"); - return 0; - } - } "-msse" } else { expr 1 } diff --git a/libbacktrace/configure.ac b/libbacktrace/configure.ac --- a/libbacktrace/configure.ac +++ b/libbacktrace/configure.ac @@ -333,12 +333,6 @@ else # When built as a GCC target library, we can't do a link test. AC_EGREP_HEADER([dl_iterate_phdr], [link.h], [have_dl_iterate_phdr=yes], [have_dl_iterate_phdr=no]) - case "${host}" in - *-*-solaris2.10*) - # Avoid dl_iterate_phdr on Solaris 10, where it is in the - # header file but is only in -ldl. - have_dl_iterate_phdr=no ;; - esac else AC_CHECK_FUNC([dl_iterate_phdr], [have_dl_iterate_phdr=yes], [have_dl_iterate_phdr=no]) diff --git a/libgcc/config.host b/libgcc/config.host --- a/libgcc/config.host +++ b/libgcc/config.host @@ -294,11 +294,11 @@ case ${host} in extra_parts="$extra_parts crtbeginS.o crtendS.o" else case ${host} in - i?86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*) + i?86-*-solaris2* | x86_64-*-solaris2*) # Solaris 10+/x86 provides crt1.o, crti.o, crtn.o, and gcrt1.o as # part of the base system. ;; - sparc*-*-solaris2.1[0-9]*) + sparc*-*-solaris2*) # Solaris 10+/SPARC lacks crt1.o and gcrt1.o. extra_parts="$extra_parts crt1.o gcrt1.o" ;; @@ -703,7 +703,7 @@ i[34567]86-*-rtems*) tmake_file="$tmake_file i386/t-crtstuff t-softfp-sfdftf i386/32/t-softfp i386/t-softfp t-softfp" extra_parts="$extra_parts crti.o crtn.o" ;; -i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) +i[34567]86-*-solaris2* | x86_64-*-solaris2*) tmake_file="$tmake_file i386/t-crtpc t-crtfm i386/t-msabi" extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o" tm_file="${tm_file} i386/elf-lib.h" 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 @@ -144,41 +144,7 @@ x86_fallback_frame_state (struct _Unwind mcontext_t *mctx; long new_cfa; - if (/* Solaris 10 - ----------- - <__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>: add $0xc,%esp <--- PC - <__sighndlr+18>: leave - <__sighndlr+19>: ret */ - (*(unsigned long *)(pc - 15) == 0xffec8b55 - && *(unsigned long *)(pc - 11) == 0x75ff1075 - && *(unsigned long *)(pc - 7) == 0x0875ff0c - && *(unsigned long *)(pc - 3) == 0x831455ff - && *(unsigned long *)(pc + 1) == 0xc3c90cc4) - - || /* Solaris 11 before snv_125 - -------------------------- - <__sighndlr+0> push %ebp - <__sighndlr+1> mov %esp,%ebp - <__sighndlr+4> pushl 0x10(%ebp) - <__sighndlr+6> pushl 0xc(%ebp) - <__sighndlr+9> pushl 0x8(%ebp) - <__sighndlr+12> call *0x14(%ebp) - <__sighndlr+15> add $0xc,%esp - <__sighndlr+18> leave <--- PC - <__sighndlr+19> ret */ - (*(unsigned long *)(pc - 18) == 0xffec8b55 - && *(unsigned long *)(pc - 14) == 0x7fff107f - && *(unsigned long *)(pc - 10) == 0x0875ff0c - && *(unsigned long *)(pc - 6) == 0x83145fff - && *(unsigned long *)(pc - 1) == 0xc3c90cc4) - - || /* Solaris 11 since snv_125 + if (/* Solaris 11 since snv_125 ------------------------- <__sighndlr+0> push %ebp <__sighndlr+1> mov %esp,%ebp diff --git a/libgcc/configure.ac b/libgcc/configure.ac --- a/libgcc/configure.ac +++ b/libgcc/configure.ac @@ -447,7 +447,7 @@ fi # Link with -nostartfiles -nodefaultlibs since neither are present while # building libgcc. case ${host} in -i?86-*-solaris2* | x86_64-*-solaris2.1[[0-9]]*) +i?86-*-solaris2* | x86_64-*-solaris2*) cat > conftest.s <<EOF .section .eh_frame,"a",@unwind .zero 4 diff --git a/libsanitizer/configure.ac b/libsanitizer/configure.ac --- a/libsanitizer/configure.ac +++ b/libsanitizer/configure.ac @@ -280,12 +280,6 @@ else # When built as a GCC target library, we can't do a link test. AC_EGREP_HEADER([dl_iterate_phdr], [link.h], [have_dl_iterate_phdr=yes], [have_dl_iterate_phdr=no]) - case "${host}" in - *-*-solaris2.10*) - # Avoid dl_iterate_phdr on Solaris 10, where it is in the - # header file but is only in -ldl. - have_dl_iterate_phdr=no ;; - esac fi if test "$have_dl_iterate_phdr" = "yes"; then AC_DEFINE(HAVE_DL_ITERATE_PHDR, 1, [Define if dl_iterate_phdr is available.]) diff --git a/libstdc++-v3/config/os/solaris/solaris2.10/ctype_base.h b/libstdc++-v3/config/os/solaris/ctype_base.h rename from libstdc++-v3/config/os/solaris/solaris2.10/ctype_base.h rename to libstdc++-v3/config/os/solaris/ctype_base.h diff --git a/libstdc++-v3/config/os/solaris/solaris2.10/ctype_configure_char.cc b/libstdc++-v3/config/os/solaris/ctype_configure_char.cc rename from libstdc++-v3/config/os/solaris/solaris2.10/ctype_configure_char.cc rename to libstdc++-v3/config/os/solaris/ctype_configure_char.cc diff --git a/libstdc++-v3/config/os/solaris/solaris2.10/ctype_inline.h b/libstdc++-v3/config/os/solaris/ctype_inline.h rename from libstdc++-v3/config/os/solaris/solaris2.10/ctype_inline.h rename to libstdc++-v3/config/os/solaris/ctype_inline.h diff --git a/libstdc++-v3/config/os/solaris/solaris2.10/os_defines.h b/libstdc++-v3/config/os/solaris/os_defines.h rename from libstdc++-v3/config/os/solaris/solaris2.10/os_defines.h rename to libstdc++-v3/config/os/solaris/os_defines.h diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host --- a/libstdc++-v3/configure.host +++ b/libstdc++-v3/configure.host @@ -303,14 +303,8 @@ case "${host_os}" in # Use libatomic if necessary and avoid libstdc++ specific atomicity support atomicity_dir="cpu/generic/atomicity_builtins" ;; - solaris2) - # This too-vague configuration does not provide enough information - # to select a ctype include, and thus os_include_dir is a crap shoot. - echo "Please specify the full version of Solaris, ie. solaris2.10 " 1>&2 - exit 1 - ;; - solaris2.1[0-9]) - os_include_dir="os/solaris/solaris2.10" + solaris2*) + os_include_dir="os/solaris" ;; tpf) os_include_dir="os/tpf" @@ -372,19 +366,8 @@ case "${host}" in powerpc*-*-darwin*) port_specific_symbol_files="\$(srcdir)/../config/os/bsd/darwin/ppc-extra.ver" ;; - *-*-solaris2.1[0-9]) - # On Solaris 10 with Solaris ld, there's no COMDAT support. GNU ld always - # provides it, as does Solaris ld since Solaris 11, leading to different - # baselines. - case "${host_os}:${with_gnu_ld}" in - # with_gnu_ld may either be unset (default) or no (with --without-gnu-ld). - solaris2.10: | solaris2.10:no) - abi_baseline_pair=solaris2.10 - ;; - *) - abi_baseline_pair=solaris2.11 - ;; - esac + *-*-solaris2*) + abi_baseline_pair=solaris case "${host_cpu}" in i?86 | x86_64) abi_baseline_pair=i386-${abi_baseline_pair} diff --git a/libstdc++-v3/libsupc++/new_opa.cc b/libstdc++-v3/libsupc++/new_opa.cc --- a/libstdc++-v3/libsupc++/new_opa.cc +++ b/libstdc++-v3/libsupc++/new_opa.cc @@ -68,12 +68,6 @@ aligned_alloc (std::size_t al, std::size static inline void* aligned_alloc (std::size_t al, std::size_t sz) { -#ifdef __sun - // Solaris 10 memalign requires that alignment is greater than or equal to - // the size of a word. - if (al < sizeof(int)) - al = sizeof(int); -#endif return memalign (al, sz); } #else // !HAVE__ALIGNED_MALLOC && !HAVE_POSIX_MEMALIGN && !HAVE_MEMALIGN 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,7 +1,3 @@ -// 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.10 } } // { dg-require-iconv "ISO-8859-1" } // Copyright (C) 2004-2019 Free Software Foundation, Inc.