# HG changeset patch
# Parent 099c882a83d8f31c504c7954a8506de3dad578ed
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
@@ -96,35 +96,6 @@ 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)
@@ -135,17 +106,6 @@ extern int __sigsetjmp (struct __jmp_buf
#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
deleted file mode 100644
@@ -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
@@ -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
@@ -3345,32 +3317,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"
@@ -4437,14 +4384,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>
@@ -5,7 +5,6 @@
#include <x86intrin.h>
#include "isa-check.h"
-#include "sse-os-support.h"
int main()
{
@@ -16,9 +15,6 @@ int main()
check_isa ();
- if (!sse_os_support ())
- exit (0);
-
__m128 x = _mm_setr_ps(0, 1, 2, 3);
for (unsigned int i = 0; i + 4 < 6; ++i) {
const unsigned int *ii = &indexes[i];
@@ -1,7 +1,6 @@
#include <stdlib.h>
#include "m128-check.h"
#include "cpuid.h"
-#include "sse-os-support.h"
static void sse_test (void);
@@ -21,7 +20,7 @@ main ()
return 0;
/* Run SSE test only if host has SSE support. */
- if ((edx & bit_SSE) && sse_os_support ())
+ if ((edx & bit_SSE))
do_test ();
return 0;
deleted file mode 100644
@@ -1,55 +0,0 @@
-#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. */
-
-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
- return 1;
-#endif /* __sun__ && __svr4__ */
-}
@@ -1,7 +1,6 @@
#include <stdlib.h>
#include "cpuid.h"
#include "m128-check.h"
-#include "sse-os-support.h"
static void sse2_test (void);
@@ -21,7 +20,7 @@ main ()
return 0;
/* Run SSE2 test only if host has SSE2 support. */
- if ((edx & bit_SSE2) && sse_os_support ())
+ if ((edx & bit_SSE2))
do_test ();
return 0;
@@ -1,7 +1,6 @@
#include <stdio.h>
#include <stdlib.h>
#include "cpuid.h"
-#include "sse-os-support.h"
static void sse3_test (void);
@@ -21,7 +20,7 @@ main ()
return 0;
/* Run SSE3 test only if host has SSE3 support. */
- if ((ecx & bit_SSE3) && sse_os_support ())
+ if ((ecx & bit_SSE3))
do_test ();
return 0;
@@ -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>
@@ -3,7 +3,6 @@
/* { dg-require-effective-target sse2 } */
#include "isa-check.h"
-#include "sse-os-support.h"
typedef double S;
typedef double V __attribute__((vector_size(16)));
@@ -28,9 +27,6 @@ int main()
{
check_isa ();
- if (!sse_os_support ())
- exit (0);
-
i[0].s[0] = 0;
i[0].s[1] = 1;
i[0].s[2] = 2;
@@ -3,7 +3,6 @@
/* { dg-require-effective-target sse2 } */
#include "isa-check.h"
-#include "sse-os-support.h"
typedef long long S;
typedef long long V __attribute__((vector_size(16)));
@@ -28,9 +27,6 @@ int main()
{
check_isa ();
- if (!sse_os_support ())
- exit (0);
-
i[0].s[0] = 0;
i[0].s[1] = 1;
i[0].s[2] = 2;
@@ -3,7 +3,6 @@
/* { dg-require-effective-target sse } */
#include "isa-check.h"
-#include "sse-os-support.h"
typedef float S;
typedef float V __attribute__((vector_size(16)));
@@ -30,9 +29,6 @@ int main()
{
check_isa ();
- if (!sse_os_support ())
- exit (0);
-
i[0].s[0] = 0;
i[0].s[1] = 1;
i[0].s[2] = 2;
@@ -3,7 +3,6 @@
/* { dg-require-effective-target sse2 } */
#include "isa-check.h"
-#include "sse-os-support.h"
typedef int S;
typedef int V __attribute__((vector_size(16)));
@@ -30,9 +29,6 @@ int main()
{
check_isa ();
- if (!sse_os_support ())
- exit (0);
-
i[0].s[0] = 0;
i[0].s[1] = 1;
i[0].s[2] = 2;
@@ -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,33 @@ 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 for Solaris 11:
+
+ <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 for Solaris 10:
+
+ <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,24 +97,11 @@ 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:
-
- <signal handler> <-- context->cfa
- __sighndlr
- call_user_handler
- sigacthandler
- <kernel>
- */
- *nframes = 3;
-
return 1;
}
@@ -178,42 +141,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 +168,33 @@ 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 for Solaris 11:
+
+ <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 for Solaris 10:
+
+ <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,24 +202,11 @@ 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:
-
- <signal handler> <-- context->cfa
- __sighndlr
- call_user_handler
- sigacthandler
- <kernel>
- */
- *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;
@@ -316,11 +316,6 @@ case "$target" in
# msghdr in <sys/socket.h>.
OSCFLAGS="$OSCFLAGS -D_XOPEN_SOURCE=500"
;;
- *-*-solaris2.[[89]])
- # Solaris 8/9 need this so struct msghdr gets the msg_control
- # etc. fields in <sys/socket.h> (_XPG4_2).
- OSCFLAGS="$OSCFLAGS -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D__EXTENSIONS__"
- ;;
*-*-solaris2.1[[01]])
# Solaris 10+ needs this so struct msghdr gets the msg_control
# etc. fields in <sys/socket.h> (_XPG4_2). _XOPEN_SOURCE=600 as
@@ -662,21 +657,6 @@ if test "$libgo_has_struct_exception" =
[Define to 1 if <math.h> defines struct exception])
fi
-dnl Check if makecontext expects the uc_stack member of ucontext to point
-dnl to the top of the stack.
-case "$target" in
- sparc*-*-solaris2.[[89]]*)
- libgo_cv_lib_makecontext_stack_top=yes
- ;;
- *)
- libgo_cv_lib_makecontext_stack_top=no
- ;;
-esac
-if test "$libgo_cv_lib_makecontext_stack_top" = "yes"; then
- AC_DEFINE(MAKECONTEXT_STACK_TOP, 1,
- [Define if makecontext expects top of stack in uc_stack.])
-fi
-
dnl See whether setcontext changes the value of TLS variables.
AC_CACHE_CHECK([whether setcontext clobbers TLS variables],
[libgo_cv_lib_setcontext_clobbers_tls],
@@ -17,16 +17,6 @@ func libc_ldexp(float64, int) float64
func Ldexp(frac float64, exp int) float64 {
r := libc_ldexp(frac, exp)
-
- // Work around a bug in the implementation of ldexp on Solaris
- // 9. If multiplying a negative number by 2 raised to a
- // negative exponent underflows, we want to return negative
- // zero, but the Solaris 9 implementation returns positive
- // zero. This workaround can be removed when and if we no
- // longer care about Solaris 9.
- if r == 0 && frac < 0 && exp < 0 {
- r = Copysign(0, frac)
- }
return r
}
@@ -1212,9 +1212,6 @@ runtime_newextram(void)
// here we need to set up the context for g0.
getcontext(&mp->g0->context);
mp->g0->context.uc_stack.ss_sp = g0_sp;
-#ifdef MAKECONTEXT_STACK_TOP
- mp->g0->context.uc_stack.ss_sp += g0_spsize;
-#endif
mp->g0->context.uc_stack.ss_size = g0_spsize;
makecontext(&mp->g0->context, kickoff, 0);
@@ -488,7 +488,6 @@ if test "x${COMPILE_JNI}" = xyes; then
dnl BSD_COMP is defined; just including sys/filio.h is simpler.
dnl Check for crt_externs.h on Darwin.
dnl Check for netinet/in_systm.h, netinet/ip.h and net/if.h for Windows CE.
- dnl Check for sys/loadavg.h for getloadavg() on Solaris 9.
dnl Check for sys/sockio.h for SIOCGIFFLAGS on OpenSolaris.
AC_CHECK_HEADERS([unistd.h sys/types.h sys/config.h sys/ioctl.h \
asm/ioctls.h \
@@ -502,7 +501,7 @@ if test "x${COMPILE_JNI}" = xyes; then
sys/event.h sys/epoll.h \
ifaddrs.h \
netinet/in_systm.h netinet/ip.h net/if.h \
- sys/loadavg.h sys/sockio.h])
+ sys/sockio.h])
AC_EGREP_HEADER(uint32_t, stdint.h, AC_DEFINE(HAVE_INT32_DEFINED, 1, [Define to 1 if you have uint32_t]))
AC_EGREP_HEADER(uint32_t, inttypes.h, AC_DEFINE(HAVE_INT32_DEFINED, 1, [Define to 1 if you have uint32_t]))
@@ -38,11 +38,7 @@ exception statement from your version. *
#include <config.h>
-#if defined HAVE_SYS_LOADAVG_H /* Get getloadavg() on Solaris 9 */
-#include <sys/loadavg.h>
-#else
#include <stdlib.h>
-#endif
#include "gnu_java_lang_management_VMOperatingSystemMXBeanImpl.h"
@@ -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.