# HG changeset patch
# Parent 38d681ec07686a092be2c779b81b171605c2db1c
Remove obsolete Solaris 9 support
@@ -75,7 +75,6 @@ LIST = aarch64-elf aarch64-linux-gnu \
x86_64-knetbsd-gnu x86_64-w64-mingw32 \
x86_64-mingw32OPT-enable-sjlj-exceptions=yes xstormy16-elf xtensa-elf \
xtensa-linux \
- sparc-sun-solaris2.9OPT-enable-obsolete i686-solaris2.9OPT-enable-obsolete \
i686-interix3OPT-enable-obsolete score-elfOPT-enable-obsolete
LOGFILES = $(patsubst %,log/%-make.out,$(LIST))
@@ -2767,6 +2767,9 @@ fix = {
*/
bypass = 'We have a problem when using C\+\+|for C\+\+, '
'_[a-z0-9A-Z_]+_exception; for C, exception';
+ /* The Solaris 10 headers already get this right. */
+ mach = '*-*-solaris2.1[0-9]*';
+ not_machine = true;
c_fix = wrap;
c_fix_arg = "#ifdef __cplusplus\n"
@@ -3407,42 +3410,6 @@ fix = {
};
/*
- * Sun Solaris up to 9 has a version of sys/int_types.h that forbids use
- * of Standard C99 64-bit types in 32-bit mode.
- */
-fix = {
- hackname = solaris_int_types;
- select = "__STDC__ - 0 == 0";
- bypass = "_LONGLONG_TYPE";
- files = sys/int_types.h;
- c_fix = format;
- c_fix_arg =
- "(defined(_STDC_C99) || !defined(_STRICT_STDC) || defined(__GNUC__))";
- test_text =
- "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n"
- "typedef long long int64_t;\n"
- "#endif\n\n"
- "#if defined(_LP64) || (__STDC__ - 0 == 0 && !defined(_NO_LONGLONG))\n"
- "typedef int64_t intmax_t;\n"
- "#endif";
-};
-
-/*
- * Before Solaris 10, <iso/setjmp_iso.h> doesn't mark longjump noreturn.
- */
-fix = {
- hackname = solaris_longjmp_noreturn;
- mach = "*-*-solaris2*";
- files = "iso/setjmp_iso.h";
- bypass = "__NORETURN";
- select = "(.*longjmp\\(jmp_buf.*[^)]+\\));";
- c_fix = format;
- c_fix_arg = "%1 __attribute__ ((__noreturn__));";
-
- test_text = "extern void longjmp(jmp_buf, int);";
-};
-
-/*
* Sun Solaris 10 defines several C99 math macros in terms of
* builtins specific to the Studio compiler, in particular not
* compatible with the GNU compiler.
@@ -3595,44 +3562,6 @@ fix = {
};
/*
- * Sun Solaris defines PTHREAD_MUTEX_INITIALIZER with a trailing
- * "0" for the last field of the pthread_mutex_t structure, which is
- * of type upad64_t, which itself is typedef'd to int64_t, but with
- * __STDC__ defined (e.g. by -ansi) it is a union. So change the
- * initializer to "{0}" instead
- */
-fix = {
- hackname = solaris_mutex_init_2;
- select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
- files = pthread.h;
- /*
- * On Solaris 10, this fix is unnecessary because upad64_t is
- * always defined correctly regardless of the definition of the
- * __STDC__ macro. The first "mach" pattern matches up to
- * solaris9. The second "mach" pattern will not match any two (or
- * more) digit solaris version, but it will match e.g. 2.5.1.
- */
- mach = '*-*-solaris2.[0-9]', '*-*-solaris2.[0-9][!0-9]*';
- c_fix = format;
- c_fix_arg = "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n"
- "%0\n"
- "#else\n"
- "%1, {0}}%4\n"
- "#endif";
- c_fix_arg = "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+"
- "(|/\*.*\*/[ \t]*\\\\\n[ \t]*)\\{.*)"
- ",[ \t]*0\\}" "(|[ \t].*)$";
- test_text =
- '#ident "@(#)pthread.h 1.26 98/04/12 SMI"'"\n"
- "#define PTHREAD_MUTEX_INITIALIZER\t{{{0},0}, {{{0}}}, 0}\n"
- "#define PTHREAD_COND_INITIALIZER\t{{{0}, 0}, 0}\t/* DEFAULTCV */\n"
- "#define PTHREAD_MUTEX_INITIALIZER /* = DEFAULTMUTEX */ \\\\\n"
- " {{0, 0, 0, DEFAULT_TYPE, _MUTEX_MAGIC}, {{{0}}}, 0}\n"
- "#define PTHREAD_COND_INITIALIZER /* = DEFAULTCV */ \\\\\n"
- " {{{0, 0, 0, 0}, DEFAULT_TYPE, _COND_MAGIC}, 0}";
-};
-
-/*
* Sun Solaris defines PTHREAD_ONCE_INIT as an array containing a
* structure. As such, it need two levels of brackets, but only
* contains one. Wrap the macro definition in an extra layer.
@@ -3651,38 +3580,6 @@ fix = {
};
/*
- * Sun Solaris defines PTHREAD_ONCE_INIT with a "0" for some
- * fields of the pthread_once_t structure, which are of type
- * upad64_t, which itself is typedef'd to int64_t, but with __STDC__
- * defined (e.g. by -ansi) it is a union. So change the initializer
- * to "{0}" instead. This test relies on solaris_once_init_1.
- */
-fix = {
- hackname = solaris_once_init_2;
- select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
- files = pthread.h;
- /*
- * On Solaris 10, this fix is unnecessary because upad64_t is
- * always defined correctly regardless of the definition of the
- * __STDC__ macro. The first "mach" pattern matches up to
- * solaris9. The second "mach" pattern will not match any two (or
- * more) digit solaris version, but it will match e.g. 2.5.1.
- */
- mach = '*-*-solaris2.[0-9]', '*-*-solaris2.[0-9][!0-9]*';
- c_fix = format;
- c_fix_arg = "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n"
- "%0\n"
- "#else\n"
- "%1{0}, {0}, {0}, {%3}%4\n"
- "#endif";
- c_fix_arg = "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{\\{)"
- "(0, 0, 0, )(PTHREAD_[A-Z_]+)(\\}\\})[ \t]*$";
- test_text =
- '#ident "@(#)pthread.h 1.26 98/04/12 SMI"'"\n"
- "#define PTHREAD_ONCE_INIT\t{{0, 0, 0, PTHREAD_ONCE_NOTDONE}}\n";
-};
-
-/*
* Solaris 10+ <spawn.h> uses char *const argv[_RESTRICT_KYWD] in the
* posix_spawn declarations, which doesn't work with C++.
*/
@@ -3780,33 +3677,6 @@ fix = {
};
/*
- * 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.9';
- select = "#if.*__STDC__.*\n"
- "typedef void \\*__va_list;\n"
- "#else\n"
- "typedef char \\*__va_list;\n"
- "#endif";
-
- c_fix = format;
- c_fix_arg = "#ifdef __GNUC__\n"
- "typedef __builtin_va_list __va_list;\n"
- "#else\n"
- "%0\n"
- "#endif";
- test_text = "#if defined(__STDC__) && !defined(__ia64)\n"
- "typedef void *__va_list;\n"
- "#else\n"
- "typedef char *__va_list;\n"
- "#endif";
-};
-
-/*
* a missing semi-colon at the end of the statsswtch structure definition.
*/
fix = {
deleted file mode 100644
@@ -1,14 +0,0 @@
-/* DO NOT EDIT THIS FILE.
-
- It has been auto-edited by fixincludes from:
-
- "fixinc/tests/inc/iso/setjmp_iso.h"
-
- This had to be done to correct non-standard usages in the
- original, manufacturer supplied header file. */
-
-
-
-#if defined( SOLARIS_LONGJMP_NORETURN_CHECK )
-extern void longjmp(jmp_buf, int) __attribute__ ((__noreturn__));
-#endif /* SOLARIS_LONGJMP_NORETURN_CHECK */
@@ -96,56 +96,12 @@ extern int __sigsetjmp (struct __jmp_buf
#endif /* PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_CHECK */
-#if defined( SOLARIS_MUTEX_INIT_2_CHECK )
-#ident "@(#)pthread.h 1.26 98/04/12 SMI"
-#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
-#define PTHREAD_MUTEX_INITIALIZER {{{0},0}, {{{0}}}, 0}
-#else
-#define PTHREAD_MUTEX_INITIALIZER {{{0},0}, {{{0}}}, {0}}
-#endif
-#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
-#define PTHREAD_COND_INITIALIZER {{{0}, 0}, 0} /* DEFAULTCV */
-#else
-#define PTHREAD_COND_INITIALIZER {{{0}, 0}, {0}} /* DEFAULTCV */
-#endif
-#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
-#define PTHREAD_MUTEX_INITIALIZER /* = DEFAULTMUTEX */ \
- {{0, 0, 0, DEFAULT_TYPE, _MUTEX_MAGIC}, {{{0}}}, 0}
-#else
-#define PTHREAD_MUTEX_INITIALIZER /* = DEFAULTMUTEX */ \
- {{0, 0, 0, DEFAULT_TYPE, _MUTEX_MAGIC}, {{{0}}}, {0}}
-#endif
-#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
-#define PTHREAD_COND_INITIALIZER /* = DEFAULTCV */ \
- {{{0, 0, 0, 0}, DEFAULT_TYPE, _COND_MAGIC}, 0}
-#else
-#define PTHREAD_COND_INITIALIZER /* = DEFAULTCV */ \
- {{{0, 0, 0, 0}, DEFAULT_TYPE, _COND_MAGIC}, {0}}
-#endif
-#endif /* SOLARIS_MUTEX_INIT_2_CHECK */
-
-
#if defined( SOLARIS_ONCE_INIT_1_CHECK )
#pragma ident "@(#)pthread.h 1.37 04/09/28 SMI"
-#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
#define PTHREAD_ONCE_INIT {{0, 0, 0, PTHREAD_ONCE_NOTDONE}}
-#else
-#define PTHREAD_ONCE_INIT {{{0}, {0}, {0}, {PTHREAD_ONCE_NOTDONE}}}
-#endif
#endif /* SOLARIS_ONCE_INIT_1_CHECK */
-#if defined( SOLARIS_ONCE_INIT_2_CHECK )
-#ident "@(#)pthread.h 1.26 98/04/12 SMI"
-#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
-#define PTHREAD_ONCE_INIT {{0, 0, 0, PTHREAD_ONCE_NOTDONE}}
-#else
-#define PTHREAD_ONCE_INIT {{{0}, {0}, {0}, {PTHREAD_ONCE_NOTDONE}}}
-#endif
-
-#endif /* SOLARIS_ONCE_INIT_2_CHECK */
-
-
#if defined( SOLARIS_RWLOCK_INIT_1_CHECK )
#ident "@(#)pthread.h 1.26 98/04/12 SMI"
#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
deleted file mode 100644
@@ -1,20 +0,0 @@
-/* DO NOT EDIT THIS FILE.
-
- It has been auto-edited by fixincludes from:
-
- "fixinc/tests/inc/sys/int_types.h"
-
- This had to be done to correct non-standard usages in the
- original, manufacturer supplied header file. */
-
-
-
-#if defined( SOLARIS_INT_TYPES_CHECK )
-#if (defined(_STDC_C99) || !defined(_STRICT_STDC) || defined(__GNUC__)) && !defined(_NO_LONGLONG)
-typedef long long int64_t;
-#endif
-
-#if defined(_LP64) || ((defined(_STDC_C99) || !defined(_STRICT_STDC) || defined(__GNUC__)) && !defined(_NO_LONGLONG))
-typedef int64_t intmax_t;
-#endif
-#endif /* SOLARIS_INT_TYPES_CHECK */
deleted file mode 100644
@@ -1,22 +0,0 @@
-/* DO NOT EDIT THIS FILE.
-
- It has been auto-edited by fixincludes from:
-
- "fixinc/tests/inc/sys/va_list.h"
-
- This had to be done to correct non-standard usages in the
- original, manufacturer supplied header file. */
-
-
-
-#if defined( SOLARIS_SYS_VA_LIST_CHECK )
-#ifdef __GNUC__
-typedef __builtin_va_list __va_list;
-#else
-#if defined(__STDC__) && !defined(__ia64)
-typedef void *__va_list;
-#else
-typedef char *__va_list;
-#endif
-#endif
-#endif /* SOLARIS_SYS_VA_LIST_CHECK */
@@ -246,7 +246,6 @@ md_file=
case ${target} in
picochip-* \
| score-* \
- | *-*-solaris2.9* \
)
if test "x$enable_obsolete" != xyes; then
echo "*** Configuration ${target} is obsolete." >&2
@@ -287,8 +286,8 @@ case ${target} in
| *-*-rtemsaout* \
| *-*-rtemscoff* \
| *-*-solaris2 \
- | *-*-solaris2.[0-8] \
- | *-*-solaris2.[0-8].* \
+ | *-*-solaris2.[0-9] \
+ | *-*-solaris2.[0-9].* \
| *-*-sysv* \
| vax-*-vms* \
)
@@ -810,15 +809,8 @@ case ${target} in
# i?86-*-solaris2* needs to insert headers between cpu default and
# Solaris 2 specific ones.
sol2_tm_file="dbxelf.h elfos.h ${cpu_type}/sysv4.h sol2.h ${cpu_type}/sol2.h"
- case ${target} in
- *-*-solaris2.1[0-9]*)
- sol2_tm_file="${sol2_tm_file} sol2-10.h"
- use_gcc_stdint=wrap
- ;;
- *)
- use_gcc_stdint=provide
- ;;
- esac
+ sol2_tm_file="${sol2_tm_file} sol2-10.h"
+ use_gcc_stdint=wrap
if test x$gnu_ld = xyes; then
tm_file="usegld.h ${tm_file}"
fi
@@ -1526,42 +1518,27 @@ i[34567]86-*-solaris2* | x86_64-*-solari
tm_file="${tm_file} i386/unix.h i386/att.h ${sol2_tm_file}"
# 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.9*)
- # Solaris 9/x86 cannot execute SSE/SSE2 instructions by default.
- with_arch_32=${with_arch_32:-pentiumpro}
- ;;
- *)
- with_arch_32=${with_arch_32:-pentium4}
- ;;
- esac
+ with_arch_32=${with_arch_32:-pentium4}
with_tune_32=${with_tune_32:-generic}
- case ${target} in
- *-*-solaris2.9*)
- tm_file="${tm_file} i386/sol2-9.h"
- ;;
- *-*-solaris2.1[0-9]*)
- tm_file="${tm_file} i386/x86-64.h i386/sol2-bi.h sol2-bi.h"
- tm_defines="${tm_defines} TARGET_BI_ARCH=1"
- tmake_file="$tmake_file i386/t-sol2-64"
- need_64bit_isa=yes
- if test x$with_cpu = x; then
- if test x$with_cpu_64 = x; then
- with_cpu_64=generic
- fi
- else
- case " $x86_cpus $x86_archs $x86_64_archs " in
- *" $with_cpu "*)
- ;;
- *)
- echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
- echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
- exit 1
- ;;
- esac
+ tm_file="${tm_file} i386/x86-64.h i386/sol2-bi.h sol2-bi.h"
+ tm_defines="${tm_defines} TARGET_BI_ARCH=1"
+ tmake_file="$tmake_file i386/t-sol2-64"
+ need_64bit_isa=yes
+ if test x$with_cpu = x; then
+ if test x$with_cpu_64 = x; then
+ with_cpu_64=generic
fi
- ;;
- esac
+ else
+ case " $x86_cpus $x86_archs $x86_64_archs " in
+ *" $with_cpu "*)
+ ;;
+ *)
+ echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
+ echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
+ exit 1
+ ;;
+ esac
+ fi
;;
i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
tm_file="${tm_file} i386/unix.h i386/att.h elfos.h vx-common.h"
deleted file mode 100644
@@ -1,23 +0,0 @@
-/* Target definitions for GCC for Intel 80386 running Solaris 9
- Copyright (C) 2014 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3. If not see
-<http://www.gnu.org/licenses/>. */
-
-/* Solaris 9 only guarantees 4-byte stack alignment as required by the i386
- psABI, so realign it as necessary for SSE instructions. */
-#undef STACK_REALIGN_DEFAULT
-#define STACK_REALIGN_DEFAULT 1
@@ -2314,35 +2314,7 @@ gcc_GAS_CHECK_FEATURE([.nsubspa comdat],
gcc_GAS_CHECK_FEATURE([.hidden], gcc_cv_as_hidden,
[elf,2,13,0],,
[ .hidden foobar
-foobar:],[
-# Solaris 9/x86 as incorrectly emits an alias for a hidden symbol with
-# STV_HIDDEN, so disable .hidden support if so.
-case "${target}" in
- i?86-*-solaris2* | x86_64-*-solaris2.1[[0-9]]*)
- if test x$gcc_cv_as != x && test x$gcc_cv_objdump != x; then
- cat > conftest.s <<EOF
-.globl hidden
- .hidden hidden
-hidden:
-.globl default
- .set default,hidden
-EOF
- if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1 \
- && $gcc_cv_objdump -t conftest.o 2>/dev/null | \
- grep '\.hidden default' > /dev/null; then
- gcc_cv_as_hidden=no
- else
- gcc_cv_as_hidden=yes
- fi
- else
- # Assume bug is present if objdump is missing.
- gcc_cv_as_hidden=no
- fi
- ;;
- *)
- gcc_cv_as_hidden=yes
- ;;
-esac])
+foobar:])
case "${target}" in
*-*-darwin*)
# Darwin as has some visibility support, though with a different syntax.
@@ -2458,7 +2430,7 @@ else
hppa64*-*-hpux* | ia64*-*-hpux*)
gcc_cv_ld_hidden=yes
;;
- *-*-solaris2.9* | *-*-solaris2.1[0-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.
gcc_cv_ld_hidden=yes
@@ -3344,32 +3316,7 @@ case "$target" in
# 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
- # Check ld and ld.so.1 TLS support.
- if echo "$ld_ver" | grep GNU > /dev/null; then
- # Assume all interesting versions of GNU ld have TLS support.
- # FIXME: still need ld.so.1 support, i.e. ld version checks below.
- ld_tls_support=yes
- else
- case "$target" in
- # Solaris 9/x86 ld has GNU style TLS support since version 1.374.
- i?86-*-solaris2.9)
- min_tls_ld_vers_minor=374
- ;;
- # Solaris 9/SPARC and Solaris 10+ ld have TLS support since FCS.
- sparc*-*-solaris2.9 | *-*-solaris2.1[[0-9]]*)
- min_tls_ld_vers_minor=343
- ;;
- esac
- if test "$ld_vers_major" -gt 1 || \
- test "$ld_vers_minor" -ge "$min_tls_ld_vers_minor"; then
- ld_tls_support=yes
- else
- set_have_as_tls=no
- fi
- fi
- AC_MSG_RESULT($ld_tls_support)
+ ld_tls_support=yes
save_LIBS="$LIBS"
save_LDFLAGS="$LDFLAGS"
@@ -4436,14 +4383,7 @@ if test x"$insn" != x; then
gcc_GAS_CHECK_FEATURE([--gstabs option],
gcc_cv_as_gstabs_flag,
- [elf,2,11,0], [--gstabs], [$insn],
- [# The native Solaris 9/Intel assembler doesn't understand --gstabs
- # and warns about it, but still exits successfully. So check for
- # this.
- if AC_TRY_COMMAND([$gcc_cv_as --gstabs -o conftest.o conftest.s 2>&1 | grep -i warning > /dev/null])
- then :
- else gcc_cv_as_gstabs_flag=yes
- fi],
+ [elf,2,11,0], [--gstabs], [$insn],,
[AC_DEFINE(HAVE_AS_GSTABS_DEBUG_FLAG, 1,
[Define if your assembler supports the --gstabs option.])])
@@ -3110,8 +3110,6 @@ information have to.
@item
@uref{#ix86-x-linux,,i?86-*-linux*}
@item
-@uref{#ix86-x-solaris289,,i?86-*-solaris2.9}
-@item
@uref{#ix86-x-solaris210,,i?86-*-solaris2.10}
@item
@uref{#ia64-x-linux,,ia64-*-linux}
@@ -3676,27 +3674,6 @@ found on @uref{http://www.bitwizard.nl/s
@html
<hr />
@end html
-@anchor{ix86-x-solaris29}
-@heading 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
-version, but the current version, from GNU binutils 2.22, is known to
-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. 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.
-
-@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
@@ -4250,10 +4227,9 @@ supported as cross-compilation target on
@c alone is too unspecific and must be avoided.
@anchor{x-x-solaris2}
@heading *-*-solaris2*
-Support for Solaris 9 has been obsoleted in GCC 4.9, but can still be
-enabled by configuring with @option{--enable-obsolete}. Support will be
-removed in GCC 4.10. Support for Solaris 8 has removed in GCC 4.8.
-Support for Solaris 7 has been removed in GCC 4.6.
+Support for Solaris 9 has been removed in GCC 4.10. 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
@@ -4333,25 +4309,6 @@ program which is used only by the GCC te
causes the @command{expect} program to miss anticipated output, extra
testsuite failures appear.
-There are patches for Solaris 9 (117171-11 or newer for
-SPARC, 117172-11 or newer for Intel) that address this problem.
-
-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{}9, the necessary support
-on SPARC is present since FCS, while 114432-05 or newer is required on
-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{}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
-work, it is recommended to use the latest patch versions which include
-additional bug fixes.
-
@html
<hr />
@end html
@@ -1,5 +1,3 @@
-/* { dg-xfail-if "PR target/60602" { sparc*-*-solaris2.9* && { ! gas } } { "-O0" } } */
-
struct var_len
{
int field1;
@@ -2,7 +2,6 @@
with any system <inttypes.h> 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.9* } } */
#include <inttypes.h>
#ifndef SIGNAL_SUPPRESS
@@ -2,7 +2,6 @@
/* { dg-require-effective-target fpic } */
/* { dg-suppress-ld-options {-fPIC} } */
/* { dg-require-effective-target tls_runtime } */
-/* { dg-extra-ld-options "-pthread" { target *-*-solaris2.9 } } */
int foo (int x)
{
return x;
@@ -1,6 +1,5 @@
/* { dg-do run } */
/* { dg-options "-std=c99" } */
-/* { 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-run-if "no C99 snprintf function" { *-*-hpux10* } } */
@@ -41,11 +41,6 @@ check_vect (void)
want_level = 1, want_c = bit_SSSE3, want_d = 0;
# else
want_level = 1, want_c = 0, want_d = bit_SSE2;
-# if defined(__sun__) && defined(__svr4__)
- /* Before Solaris 9 4/04, trying to execute an SSE2 instruction gives
- SIGILL even if the CPU can handle them. */
- asm volatile ("unpcklpd %xmm0,%xmm2");
-# endif
# endif
if (!__get_cpuid (want_level, &a, &b, &c, &d)
@@ -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.9 *-*-vxworks* } } */
+/* { dg-options "-O2 -fomit-frame-pointer -flax-vector-conversions -mmmx -mno-vect8-ret-in-mem" { target *-*-vxworks* } } */
#include <mmintrin.h>
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -msse2 -mtune=core2" } */
-/* { dg-additional-options "-mno-vect8-ret-in-mem" { target i?86-*-solaris2.9 *-*-vxworks* } } */
+/* { dg-additional-options "-mno-vect8-ret-in-mem" { target *-*-vxworks* } } */
/* { dg-additional-options "-mabi=sysv" { target x86_64-*-mingw* } } */
#include <mmintrin.h>
@@ -1,55 +1,8 @@
-#if defined(__sun__) && defined(__svr4__)
-/* Make sure sigaction() is declared even with -std=c99. */
-#define __EXTENSIONS__
-#include <signal.h>
-#include <ucontext.h>
-
-static volatile sig_atomic_t sigill_caught;
-
-static void
-sigill_hdlr (int sig __attribute((unused)),
- siginfo_t *sip __attribute__((unused)),
- ucontext_t *ucp)
-{
- sigill_caught = 1;
- /* Set PC to the instruction after the faulting one to skip over it,
- otherwise we enter an infinite loop. */
- ucp->uc_mcontext.gregs[EIP] += 4;
- setcontext (ucp);
-}
-#endif
-
-/* Check if the OS supports executing SSE instructions. This function is
- only used in sse-check.h, sse2-check.h, and sse3-check.h so far since
- Solaris 8 and 9 won't run on newer CPUs anyway. */
+/* Check if the OS supports executing SSE instructions. */
static int
sse_os_support (void)
{
-#if defined(__sun__) && defined(__svr4__)
- /* Solaris 2 before Solaris 9 4/04 cannot execute SSE instructions
- even if the CPU supports them. Programs receive SIGILL instead, so
- check for that at runtime. */
-
- struct sigaction act, oact;
-
- act.sa_handler = sigill_hdlr;
- sigemptyset (&act.sa_mask);
- /* Need to set SA_SIGINFO so a ucontext_t * is passed to the handler. */
- act.sa_flags = SA_SIGINFO;
- sigaction (SIGILL, &act, &oact);
-
- /* We need a single SSE instruction here so the handler can safely skip
- over it. */
- __asm__ volatile ("movss %xmm2,%xmm1");
-
- sigaction (SIGILL, &oact, NULL);
-
- if (sigill_caught)
- exit (0);
- else
- return 1;
-#else
+ /* All currently supported OSes do. */
return 1;
-#endif /* __sun__ && __svr4__ */
}
@@ -1,5 +1,5 @@
/* { dg-do compile { target ia32 } } */
-/* { dg-options "-mmmx" { target i?86-*-solaris2.9 *-*-vxworks* } } */
+/* { dg-options "-mmmx" { target *-*-vxworks* } } */
/* { dg-options "-mmmx -mvect8-ret-in-mem" } */
#include <mmintrin.h>
@@ -1,7 +1,7 @@
! { dg-do run { xfail spu-*-* ia64-*-linux* } }
! { dg-options "-fno-range-check -ffree-line-length-none -O0" }
! { dg-add-options ieee }
-! { dg-skip-if "PR libfortran/59313" { sparc*-*-solaris2.9* hppa*-*-hpux* } }
+! { dg-skip-if "PR libfortran/59313" { hppa*-*-hpux* } }
!
! Check that simplification functions and runtime library agree on ERF,
! ERFC and ERFC_SCALED, for quadruple-precision.
@@ -182,5 +182,5 @@ contains
end subroutine
end program
-! { dg-final { scan-file fmt_en.res "All kinds rounded to nearest" { xfail { i?86-*-solaris2.9* hppa*-*-hpux* } } } }
+! { dg-final { scan-file fmt_en.res "All kinds rounded to nearest" { xfail hppa*-*-hpux* } } }
! { dg-final { cleanup-saved-temps } }
@@ -1,6 +1,6 @@
! { dg-do run }
! { dg-add-options ieee }
-! { dg-skip-if "PR libfortran/58015" { *-*-solaris2.9* hppa*-*-hpux* } }
+! { dg-skip-if "PR libfortran/58015" { hppa*-*-hpux* } }
!
! PR fortran/35862
!
@@ -593,7 +593,7 @@ proc add_options_for_tls { flags } {
# libthread, so always pass -pthread for native TLS. Same for AIX.
# Need to duplicate native TLS check from
# check_effective_target_tls_native to avoid recursion.
- if { ([istarget *-*-solaris2.9*] || [istarget powerpc-ibm-aix*]) &&
+ if { ([istarget powerpc-ibm-aix*]) &&
[check_no_messages_and_pattern tls_native "!emutls" assembly {
__thread int i;
int f (void) { return i; }
@@ -263,11 +263,9 @@ search_line_acc_char (const uchar *s, co
}
}
-/* Disable on Solaris 2/x86 until the following problems can be properly
+/* Disable on Solaris 2/x86 until the following problem can be properly
autoconfed:
- 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
extensions used, so SSE4.2 executables cannot run on machines that
don't support that extension. */
@@ -70,28 +70,6 @@ set_fast_math (void)
{
unsigned int mxcsr;
-#if defined __sun__ && defined __svr4__
- /* Solaris 2 before Solaris 9 4/04 cannot execute SSE instructions even
- if the CPU supports them. Programs receive SIGILL instead, so check
- for that at runtime. */
- struct sigaction act, oact;
-
- act.sa_handler = sigill_hdlr;
- sigemptyset (&act.sa_mask);
- /* Need to set SA_SIGINFO so a ucontext_t * is passed to the handler. */
- act.sa_flags = SA_SIGINFO;
- sigaction (SIGILL, &act, &oact);
-
- /* We need a single SSE instruction here so the handler can safely skip
- over it. */
- __asm__ volatile ("movaps %xmm0,%xmm0");
-
- sigaction (SIGILL, &oact, NULL);
-
- if (sigill_caught)
- return;
-#endif /* __sun__ && __svr4__ */
-
if (edx & bit_FXSAVE)
{
/* Check if DAZ is available. */
@@ -144,26 +144,8 @@ x86_fallback_frame_state (struct _Unwind
mcontext_t *mctx;
long new_cfa;
- if (/* Solaris 9 - single-threaded
- ----------------------------
- <sigacthandler+16>: mov 0x244(%ebx),%ecx
- <sigacthandler+22>: mov 0x8(%ebp),%eax
- <sigacthandler+25>: mov (%ecx,%eax,4),%ecx
- <sigacthandler+28>: pushl 0x10(%ebp)
- <sigacthandler+31>: pushl 0xc(%ebp)
- <sigacthandler+34>: push %eax
- <sigacthandler+35>: call *%ecx
- <sigacthandler+37>: add $0xc,%esp <--- PC
- <sigacthandler+40>: 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
- ---------------------------------------
+ if (/* Solaris 10
+ -----------
<__sighndlr+0>: push %ebp
<__sighndlr+1>: mov %esp,%ebp
<__sighndlr+3>: pushl 0x10(%ebp)
@@ -36,44 +36,6 @@ see the files COPYING3 and COPYING.RUNTI
static int
sparc64_is_sighandler (unsigned int *pc, void *cfa, int *nframes)
{
- if (/* 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.
-
- <sigacthandler+24>: sra %i0, 0, %l1
-
- Solaris 9 5/02:
- <sigacthandler+28>: ldx [ %o2 + 0xf68 ], %g5
- Solaris 9 9/05:
- <sigacthandler+28>: ldx [ %o2 + 0xe50 ], %g5
-
- <sigacthandler+32>: sllx %l1, 3, %g4
- <sigacthandler+36>: mov %l1, %o0
- <sigacthandler+40>: ldx [ %g4 + %g5 ], %l0
- <sigacthandler+44>: call %l0
- <sigacthandler+48>: mov %i2, %o2
- <sigacthandler+52>: cmp %l1, 8 <--- PC */
- ( pc[-7] == 0xa33e2000
- /* skip pc[-6] */
- && pc[-5] == 0x892c7003
- && pc[-4] == 0x90100011
- && pc[-3] == 0xe0590005
- && pc[-2] == 0x9fc40000
- && pc[-1] == 0x9410001a
- && pc[ 0] == 0x80a46008))
- {
- /* We need to move up one frame:
-
- <signal handler> <-- context->cfa
- sigacthandler
- <kernel>
- */
- *nframes = 1;
- return 1;
- }
-
if (/* Solaris 8+ - multi-threaded
----------------------------
<__sighndlr>: save %sp, -176, %sp
@@ -101,19 +63,35 @@ sparc64_is_sighandler (unsigned int *pc,
= *(unsigned int *)(*(unsigned long *)(cfa + 15*8) - 4);
if (cuh_pattern == 0x92100019)
- /* This matches the call_user_handler pattern for Solaris 11.
- This is the same setup as for Solaris 9, see below. */
+ /* This matches the call_user_handler pattern in Solaris 11
+ libc.so.1:
+
+ <call_user_handler+864>: mov %i1, %o1
+ <call_user_handler+868>: call __sighndlr
+
+ This is the same setup as for Solaris 10, see below. */
*nframes = 3;
else if (cuh_pattern == 0xd25fa7ef)
{
- /* This matches the call_user_handler pattern for Solaris 10.
+ /* This matches the call_user_handler pattern in Solaris 10
+ libc.so.1:
+
+ <call_user_handler+988>: ldx [ %fp + 0x7ef ], %o1
+ <call_user_handler+992>: call __sighndlr
+
There are 2 cases so we look for the return address of the
caller's caller frame in order to do more pattern matching. */
unsigned long sah_address = *(unsigned long *)(cfa + 176 + 15*8);
if (sah_address && *(unsigned int *)(sah_address - 4) == 0x92100019)
- /* This is the same setup as for Solaris 9, see below. */
+ /* We need to move up three frames:
+
+ <signal handler> <-- context->cfa
+ __sighndlr
+ call_user_handler
+ sigacthandler
+ <kernel> */
*nframes = 3;
else
/* The sigacthandler frame isn't present in the chain.
@@ -121,22 +99,19 @@ sparc64_is_sighandler (unsigned int *pc,
<signal handler> <-- context->cfa
__sighndlr
- call_user_handler frame
- <kernel>
- */
+ call_user_handler
+ <kernel> */
*nframes = 2;
}
- else if (cuh_pattern == 0x9410001a || cuh_pattern == 0x94100013)
- /* This matches the call_user_handler pattern for Solaris 9.
- We need to move up three frames:
+ else if (cuh_pattern == 0x9410001a || cuh_pattern == 0x9410001b)
+ /* This matches the call_user_handler pattern in Solaris 9
+ libthread.so.1:
- <signal handler> <-- context->cfa
- __sighndlr
- call_user_handler
- sigacthandler
- <kernel>
- */
+ <call_user_handler+600>: mov %i2, %o2
+ <call_user_handler+604>: call __sighndlr
+
+ This is the same setup as for Solaris 10, see above. */
*nframes = 3;
return 1;
@@ -178,42 +153,6 @@ sparc64_frob_update_context (struct _Unw
static int
sparc_is_sighandler (unsigned int *pc, void *cfa, int *nframes)
{
- if (/* Solaris 9 - single-threaded
- ----------------------------
- The pattern changes slightly in different versions of the operating
- system, so we skip the comparison against pc[-6].
-
- <sigacthandler+16>: add %o1, %o7, %o3
- <sigacthandler+20>: mov %i1, %o1
-
- <sigacthandler+24>: ld [ %o3 + <offset> ], %o2
-
- <sigacthandler+28>: sll %i0, 2, %o0
- <sigacthandler+32>: ld [ %o0 + %o2 ], %l0
- <sigacthandler+36>: mov %i0, %o0
- <sigacthandler+40>: call %l0
- <sigacthandler+44>: mov %i2, %o2
- <sigacthandler+48>: cmp %i0, 8 <--- PC */
- pc[-8] == 0x9602400f
- && pc[-7] == 0x92100019
- /* skip pc[-6] */
- && pc[-5] == 0x912e2002
- && pc[-4] == 0xe002000a
- && pc[-3] == 0x90100018
- && pc[-2] == 0x9fc40000
- && pc[-1] == 0x9410001a
- && pc[ 0] == 0x80a62008)
- {
- /* We need to move up one frame:
-
- <signal handler> <-- context->cfa
- sigacthandler
- <kernel>
- */
- *nframes = 1;
- return 1;
- }
-
if(/* Solaris 8+ - multi-threaded
----------------------------
<__sighndlr>: save %sp, -96, %sp
@@ -241,19 +180,35 @@ sparc_is_sighandler (unsigned int *pc, v
= *(unsigned int *)(*(unsigned int *)(cfa + 15*4) - 4);
if (cuh_pattern == 0x92100019)
- /* This matches the call_user_handler pattern for Solaris 11.
- This is the same setup as for Solaris 9, see below. */
+ /* This matches the call_user_handler pattern in Solaris 11
+ libc.so.1:
+
+ <call_user_handler+876>: mov %i1, %o1
+ <call_user_handler+880>: call __sighndlr
+
+ This is the same setup as for Solaris 10, see below. */
*nframes = 3;
else if (cuh_pattern == 0xd407a04c)
{
- /* This matches the call_user_handler pattern for Solaris 10.
+ /* This matches the call_user_handler pattern in Solaris 10
+ libc.so.1:
+
+ <call_user_handler+948>: ld [ %fp + 0x4c ], %o2
+ <call_user_handler+952>: call __sighndlr
+
There are 2 cases so we look for the return address of the
caller's caller frame in order to do more pattern matching. */
unsigned int sah_address = *(unsigned int *)(cfa + 96 + 15*4);
if (sah_address && *(unsigned int *)(sah_address - 4) == 0x92100019)
- /* This is the same setup as for Solaris 9, see below. */
+ /* We need to move up three frames:
+
+ <signal handler> <-- context->cfa
+ __sighndlr
+ call_user_handler
+ sigacthandler
+ <kernel> */
*nframes = 3;
else
/* The sigacthandler frame isn't present in the chain.
@@ -261,22 +216,19 @@ sparc_is_sighandler (unsigned int *pc, v
<signal handler> <-- context->cfa
__sighndlr
- call_user_handler frame
- <kernel>
- */
+ call_user_handler
+ <kernel> */
*nframes = 2;
}
else if (cuh_pattern == 0x9410001a || cuh_pattern == 0x9410001b)
- /* This matches the call_user_handler pattern for Solaris 9.
- We need to move up three frames:
+ /* This matches the call_user_handler pattern in Solaris 9
+ libthread.so.1:
- <signal handler> <-- context->cfa
- __sighndlr
- call_user_handler
- sigacthandler
- <kernel>
- */
+ <call_user_handler+560>: mov %i2, %o2
+ <call_user_handler+564>: call __sighndlr
+
+ This is the same setup as for Solaris 10, see above. */
*nframes = 3;
return 1;
@@ -27,26 +27,6 @@ see the files COPYING3 and COPYING.RUNTI
#include "cpuid.h"
#endif
-#if defined(__sun__) && defined(__svr4__)
-#include <signal.h>
-#include <ucontext.h>
-
-static volatile sig_atomic_t sigill_caught;
-
-static void
-sigill_hdlr (int sig __attribute((unused)),
- siginfo_t *sip __attribute__((unused)),
- ucontext_t *ucp)
-{
- sigill_caught = 1;
- /* Set PC to the instruction after the faulting one to skip over it,
- otherwise we enter an infinite loop. 3 is the size of the movaps
- instruction. */
- ucp->uc_mcontext.gregs[EIP] += 3;
- setcontext (ucp);
-}
-#endif
-
static int
has_sse (void)
{
@@ -56,32 +36,6 @@ has_sse (void)
if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx))
return 0;
-#if defined(__sun__) && defined(__svr4__)
- /* Solaris 2 before Solaris 9 4/04 cannot execute SSE instructions even
- if the CPU supports them. Programs receive SIGILL instead, so check
- for that at runtime. */
-
- if (edx & bit_SSE)
- {
- struct sigaction act, oact;
-
- act.sa_handler = sigill_hdlr;
- sigemptyset (&act.sa_mask);
- /* Need to set SA_SIGINFO so a ucontext_t * is passed to the handler. */
- act.sa_flags = SA_SIGINFO;
- sigaction (SIGILL, &act, &oact);
-
- /* We need a single SSE instruction here so the handler can safely skip
- over it. */
- __asm__ __volatile__ ("movaps\t%xmm0,%xmm0");
-
- sigaction (SIGILL, &oact, NULL);
-
- if (sigill_caught)
- return 0;
- }
-#endif /* __sun__ && __svr4__ */
-
return edx & bit_SSE;
#else
return 1;
@@ -1088,11 +1088,6 @@ case "$THREADS" in
THREADLIBS='-lpthread -lrt'
THREADSPEC='-lpthread -lrt'
;;
- *-*-solaris2.9)
- # Need libthread for TLS support.
- THREADLIBS='-lpthread -lthread'
- THREADSPEC='-lpthread -lthread'
- ;;
*-*-darwin*)
# Don't set THREADLIBS or THREADSPEC as Darwin already
# provides pthread via libSystem.
@@ -3523,25 +3523,7 @@ AC_DEFUN([GLIBCXX_CHECK_GTHREADS], [
#ifndef __GTHREADS_CXX0X
#error
#endif
- ], [case $target_os in
- # gthreads support breaks symbol versioning on Solaris 9 (PR
- # libstdc++/52189).
- solaris2.9*)
- if test x$enable_symvers = xno; then
- ac_has_gthreads=yes
- elif test x$enable_libstdcxx_threads = xyes; then
- AC_MSG_WARN([You have requested C++11 threads support, but])
- AC_MSG_WARN([this breaks symbol versioning.])
- ac_has_gthreads=yes
- else
- ac_has_gthreads=no
- fi
- ;;
- *)
- ac_has_gthreads=yes
- ;;
- esac],
- [ac_has_gthreads=no])
+ ], [ac_has_gthreads=yes], [ac_has_gthreads=no])
else
ac_has_gthreads=no
fi
deleted file mode 100644
deleted file mode 100644
rename from libstdc++-v3/config/os/solaris/solaris2.9/ctype_base.h
rename to libstdc++-v3/config/os/solaris/solaris2.10/ctype_base.h
rename from libstdc++-v3/config/os/solaris/solaris2.9/ctype_configure_char.cc
rename to libstdc++-v3/config/os/solaris/solaris2.10/ctype_configure_char.cc
rename from libstdc++-v3/config/os/solaris/solaris2.9/ctype_inline.h
rename to libstdc++-v3/config/os/solaris/solaris2.10/ctype_inline.h
rename from libstdc++-v3/config/os/solaris/solaris2.9/os_defines.h
rename to libstdc++-v3/config/os/solaris/solaris2.10/os_defines.h
@@ -1,4 +1,4 @@
-// Specific definitions for Solaris 9+ -*- C++ -*-
+// Specific definitions for Solaris 10+ -*- C++ -*-
// Copyright (C) 2000-2014 Free Software Foundation, Inc.
//
@@ -35,10 +35,5 @@
#define __CORRECT_ISO_CPP_WCHAR_H_PROTO
#endif
-/* Solaris 9 uses the non-standard CLOCK_HIGHRES instead. */
-#ifndef CLOCK_MONOTONIC
-#define CLOCK_MONOTONIC CLOCK_HIGHRES
#endif
-#endif
-
@@ -301,11 +301,11 @@ case "${host_os}" in
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.9 " 1>&2
+ echo "Please specify the full version of Solaris, ie. solaris2.10 " 1>&2
exit 1
;;
- solaris2.9 | solaris2.1[0-9])
- os_include_dir="os/solaris/solaris2.9"
+ solaris2.1[0-9])
+ os_include_dir="os/solaris/solaris2.10"
;;
tpf)
os_include_dir="os/tpf"
@@ -356,10 +356,6 @@ case "${host}" in
powerpc*-*-darwin*)
port_specific_symbol_files="\$(srcdir)/../config/os/bsd/darwin/ppc-extra.ver"
;;
- *-*-solaris2.9)
- abi_baseline_pair=solaris2.9
- abi_baseline_subdir_switch=--print-multi-os-directory
- ;;
*-*-solaris2.1[0-9])
abi_baseline_pair=solaris2.10
abi_baseline_subdir_switch=--print-multi-os-directory
@@ -205,24 +205,16 @@ case "${host}" in
GLIBCXX_CHECK_STDLIB_SUPPORT
;;
*-solaris*)
- case "$target" in
- *-solaris2.9 | *-solaris2.10)
- GLIBCXX_CHECK_LINKER_FEATURES
- AC_DEFINE(HAVE_MBSTATE_T)
- AC_DEFINE(HAVE_FINITE)
- AC_DEFINE(HAVE_FPCLASS)
- # All of the dependencies for wide character support are here, so
- # turn it on.
- AC_DEFINE(_GLIBCXX_USE_WCHAR_T)
- ;;
- esac
- case "$target" in
- *-*-solaris2.10)
- # These two C99 functions are present only in Solaris >= 10
- AC_DEFINE(HAVE_STRTOF)
- AC_DEFINE(HAVE_STRTOLD)
- ;;
- esac
+ GLIBCXX_CHECK_LINKER_FEATURES
+ AC_DEFINE(HAVE_MBSTATE_T)
+ AC_DEFINE(HAVE_FINITE)
+ AC_DEFINE(HAVE_FPCLASS)
+ # All of the dependencies for wide character support are here, so
+ # turn it on.
+ AC_DEFINE(_GLIBCXX_USE_WCHAR_T)
+ # These two C99 functions are present only in Solaris >= 10
+ AC_DEFINE(HAVE_STRTOF)
+ AC_DEFINE(HAVE_STRTOLD)
AC_DEFINE(HAVE_ISNAN)
AC_DEFINE(HAVE_ISNANF)
AC_DEFINE(HAVE_MODFF)
@@ -162,8 +162,7 @@
<varlistentry><term><code>--enable-libstdcxx-threads</code></term>
<listitem><para>Enable C++11 threads support. If not explicitly specified,
- the configure process enables it if possible. It defaults to 'off'
- on Solaris 9, where it would break symbol versioning. This
+ the configure process enables it if possible. This
option can change the library ABI.
</para>
</listitem></varlistentry>
@@ -19,10 +19,7 @@
// 27.6.1.2.2 arithmetic extractors
-// 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.9 } || lax_strtofp } } }
+// { dg-do run { xfail { lax_strtofp } } }
#include <istream>
#include <sstream>
@@ -17,10 +17,7 @@
// 27.6.1.2.2 arithmetic extractors
-// 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.9 } || lax_strtofp } } }
+// { dg-do run { xfail { lax_strtofp } } }
#include <istream>
#include <sstream>
@@ -1,7 +1,7 @@
// 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.9 *-*-solaris2.10 } }
+// { dg-do run { xfail *-*-solaris2.10 } }
// { dg-require-iconv "ISO-8859-1" }
// Copyright (C) 2004-2014 Free Software Foundation, Inc.