Remove obsolete Solaris 10 support

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.

From-SVN: r271183
This commit is contained in:
Rainer Orth 2019-05-14 17:17:23 +00:00 committed by Rainer Orth
parent 956a62aaa2
commit ccd1242eec
45 changed files with 144 additions and 23327 deletions

View File

@ -1,3 +1,28 @@
2019-05-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* 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.
2019-05-14 Uroš Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (any_div): New code iterator.

View File

@ -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*)
;;

View File

@ -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"
;;

View File

@ -117,11 +117,6 @@ along with GCC; see the file COPYING3. If not see
#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

View File

@ -134,19 +134,8 @@ host_detect_local_cpu (int argc, const char **argv)
&& 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);

27
gcc/configure vendored
View File

@ -23140,7 +23140,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
@ -23931,14 +23931,6 @@ $as_echo "$gcc_cv_as_shf_merge" >&6; }
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
cat >>confdefs.h <<_ACEOF
#define HAVE_GAS_SHF_MERGE `if test $gcc_cv_as_shf_merge = yes; then echo 1; else echo 0; fi`
@ -23947,13 +23939,6 @@ _ACEOF
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*)
@ -24084,7 +24069,7 @@ $as_echo "$gcc_cv_as_comdat_group_percent" >&6; }
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
@ -24394,7 +24379,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
;;
*)
@ -29447,11 +29432,7 @@ fi
$as_echo_n "checking dl_iterate_phdr in target C library... " >&6; }
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 \

View File

@ -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 \

View File

@ -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/sig11/,,www.bitwizard.nl}.
@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 only.
@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.
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.
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
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{configure.html,,the configure instructions}.
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{PATH}, we recommend that you place
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 versioning will be disabled if no
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
@ -4641,22 +4609,6 @@ not that of GMP or MPFR or MPC). For example on a Solaris 9 system:
% ./configure --build=sparc-sun-solaris2.9 --prefix=xxx
@end smallexample
@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
@ -4772,8 +4724,8 @@ both 64-bit x86-64 and 32-bit x86 code (via the @option{-m32} switch).
@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

View File

@ -1,3 +1,21 @@
2019-05-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* 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.
2019-05-14 Richard Biener <rguenther@suse.de>
* gcc.dg/gimplefe-40.c: New testcase.

View File

@ -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>

View File

@ -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 } */

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -44,7 +44,7 @@ if { [isnative] && ![is_remote host] } then {
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"

View File

@ -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 } } */

View File

@ -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" } } */

View File

@ -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
}

View File

@ -1,3 +1,9 @@
2019-05-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac (have_dl_iterate_phdr): Remove *-*-solaris2.10*
handling.
* configure: Regenerate.
2019-03-11 Ian Lance Taylor <iant@golang.org>
PR libbacktrace/89669

View File

@ -13048,12 +13048,6 @@ else
fi
rm -f conftest*
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_fn_c_check_func "$LINENO" "dl_iterate_phdr" "ac_cv_func_dl_iterate_phdr"
if test "x$ac_cv_func_dl_iterate_phdr" = xyes; then :

View File

@ -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])

View File

@ -1,3 +1,13 @@
2019-05-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* 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.
2019-05-12 Iain Sandoe <iain@sandoe.co.uk>
* config/rs6000/darwin-vecsave.S: Set .machine appropriately.

View File

@ -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"

View File

@ -144,41 +144,7 @@ x86_fallback_frame_state (struct _Unwind_Context *context,
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

2
libgcc/configure vendored
View File

@ -5225,7 +5225,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

View File

@ -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

View File

@ -1,3 +1,9 @@
2019-05-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac (have_dl_iterate_phdr): Remove *-*-solaris2.10*
handling.
* configure: Regenerate.
2019-04-08 Martin Liska <mliska@suse.cz>
* LOCAL_PATCHES: Add revision.

View File

@ -16659,12 +16659,6 @@ else
fi
rm -f conftest*
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

View File

@ -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.])

View File

@ -1,3 +1,22 @@
2019-05-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* 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.
2019-05-14 Jonathan Wakely <jwakely@redhat.com>
* include/std/variant (__visit_with_index): Remove typedef.

View File

@ -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}

View File

@ -68,12 +68,6 @@ aligned_alloc (std::size_t al, std::size_t sz)
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

View File

@ -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.