* Remove obsolete Solaris 8 support
@ 2012-03-12 17:45 Rainer Orth
2012-03-12 18:31 ` Ian Lance Taylor
` (7 more replies)
0 siblings, 8 replies; 18+ messages in thread
From: Rainer Orth @ 2012-03-12 17:45 UTC (permalink / raw)
To: gcc-patches; +Cc: libstdc++, java-patches, Eric Botcazou, Ian Lance Taylor
[-- Attachment #1: Type: text/plain, Size: 5162 bytes --]
Since even extended support for Solaris 8 ends by March 31st, this patch
removes Solaris 8 support from mainline. Given that extended support
for Solaris 9 lasts until October 2014, I guess that will remain in GCC
for at least one major release.
Again, I don't expect the patch to be controversial, but a few issues
bear mention:
* Although libgcc/config/sparc/sol2-unwind.h could be simplified quite a
bit, perhaps we could go further: I wonder if the remaining nframes = 2
case really applies to Solaris 9. If not, one could massivly simplify
this code.
* As in the IRIX case, I wonder if removing Solaris 8 support from libgo
is a good idea while it still is supported on the 4.7 branch.
* In libstdc++, all checks for the presence of overloads can be replaced
by hardcoded values. This also allows __CORRECT_ISO_CPP_MATH_H_PROTO2
to be removed and to drop the `1' in __CORRECT_ISO_CPP_MATH_H_PROTO1.
* I haven't yet checked if the Solaris references in
libstdc++-v3/config/io/basic_file_stdio.cc are correct or also apply
to newer versions. This can probably wait for a later time.
* libstdc++-v3/doc/xml/manual/internals.xml still has various references
to older Solaris versions. I haven't touched those.
Bootstrapped without regressions on {i386-pc, sparc-sun}-solaris2.{9, 10, 11}
(Solaris 9/SPARC still running). Ok for mainline if that passes (though
I guess I don't need approval for most of these changes)?
Thanks.
Rainer
2012-03-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
libstdc++-v3:
* config/os/solaris/solaris2.8: Rename to ...
* config/os/solaris/solaris2.9: ... this.
* config/abi/post/solaris2.8: Rename to ...
* config/abi/post/solaris2.9: ... this.
* configure.host (os_include_dir): Remove solaris2.8.
Reflect renaming.
(abi_baseline_pair): Remove *-*-solaris2.8.
Reflect renaming.
* configure.ac (GLIBCXX_CHECK_MATH_PROTO): Remove
(GLIBCXX_CHECK_STDLIB_PROTO): Remove.
* acinclude.m4 (GLIBCXX_CHECK_MATH_PROTO): Remove
(GLIBCXX_CHECK_STDLIB_PROTO): Remove.
(GLIBCXX_CHECK_GTHREADS): Remove Solaris 8 handling.
* crossconfig.m4 (GLIBCXX_CROSSCONFIG): Remove *-solaris2.8
handling.
* configure: Regenerate.
* config.h.in: Regenerate.
* config/os/solaris/solaris2.9/os_defines.h
(__CORRECT_ISO_CPP_MATH_H_PROTO): Define.
(__CORRECT_ISO_CPP_STDLIB_H_PROTO): Define.
* include/c_global/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1
to __CORRECT_ISO_CPP_MATH_H_PROTO.
[!__CORRECT_ISO_CPP_MATH_H_PROTO2]: Remove.
* include/tr1/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1 to
__CORRECT_ISO_CPP_MATH_H_PROTO.
* doc/xml/manual/configure.xml (Configure, --enable-libstdcxx-threads):
Remove Solaris 8 reference.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
Don't xfail on *-*-solaris2.8.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
Likewise.
* testsuite/ext/enc_filebuf/char/13598.cc: Don't xfail on
*-*-solaris2.8.
libjava:
* configure.ac (THREADLIBS): Remove *-*-solaris2.8 handling.
* configure: Regenerate.
libgo:
* configure.ac (OSCFLAGS): Remove *-*-solaris2.8 handling.
(libgo_cv_lib_makecontext_stack_top): Remove
sparc*-*-solaris2.8* handling.
* configure: Regenerate.
libgcc:
* config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove
Solaris 8 handling.
* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove
Solaris 8 handling.
(sparc_is_sighandler): Likewise.
libcpp:
* lex.c: Remove Solaris 8 reference.
gcc/testsuite:
* g++.dg/warn/miss-format-1.C: Remove *-*-solaris2.8 handling.
* gcc.dg/c99-stdint-6.c: Likewise.
* gcc.dg/lto/20090210_0.c: Likewise.
* gcc.dg/pr28796-2.c: Don't skip on sparc*-sun-solaris2.8.
* gcc.dg/pragma-init-fini.c: Don't skip on i?86-*-solaris2.8.
* gcc.dg/pragma-init-fini-2.c: Likewise.
* gcc.dg/torture/pr47917.c: Remove *-*-solaris2.8 handling.
* gcc.target/i386/pr22076.c: Remove i?86-*-solaris2.8 handling.
* gcc.target/i386/pr22152.c: Likewise.
* gcc.target/i386/vect8-ret.c: Likewise.
* lib/target-supports.exp (add_options_for_tls): Remove Solaris 8
handling.
gcc:
* config.gcc (enable_obsolete): Remove *-*-solaris2.8*.
(*-*-solaris2.[0-8], *-*-solaris2.[0-8].*): Mark unsupported.
(i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*): Remove
Solaris 8 support.
* configure.ac (gcc_cv_ld_hidden): Remove *-*-solaris2.8*.
(ld_tls_support): Remove Solaris 8 references.
(lwp_dir, lwp_spec): Remove support for alternate thread library.
* acinclude.m4 (gcc_cv_initfini_array): Remove *-*-solaris2.*
tests.
* configure: Regenerate.
* config.in: Regenerate.
* config/sol2.h (LINK_SPEC): Remove LIB_THREAD_LDFLAGS_SPEC.
* config/i386/sol2.h: Remove Solaris 8 references.
* doc/install.texi (Specific, i?86-*-solaris2.[89]): Rename to ...
(i?86-*-solaris2.9): ... this.
Remove Solaris 8 references.
(Specific, *-*-solaris2*): Document Solaris 8 removal.
Remove Solaris 8 references.
fixincludes:
* inclhack.def (math_exception): Remove duplicate.
(solaris_cond_init): Remove.
(solaris_sys_va_list): Remove Solaris 8 support.
* fixincl.x: Regenerate.
* tests/base/pthread.h [SOLARIS_COND_INIT_CHECK]: Remove.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: sol8-removal.patch --]
[-- Type: text/x-patch, Size: 51979 bytes --]
# HG changeset patch
# Parent 70d9a4a121c064783ddbabfaf18e606d404a2e3c
Remove obsolete Solaris 8 support
diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def
--- a/fixincludes/inclhack.def
+++ b/fixincludes/inclhack.def
@@ -2382,7 +2382,7 @@ fix = {
files = math.h;
select = "struct exception";
/*
- * This should be bypassed on __cplusplus, but some supposedly C++ C++
+ * This should be bypassed on __cplusplus, but some supposedly C++
* aware headers, such as Solaris 8 and 9, don't wrap their struct
* exception either. So currently we bypass only for glibc, based on a
* comment in the fixed glibc header. Ick.
@@ -2926,26 +2926,6 @@ fix = {
/*
- * Solaris 8 PTHREAD_COND_INITIALIZER lacks the __pthread_cond_magic field.
- * COND_MAGIC is only defined in <synch.h> and pollutes the namespace, so
- * use the value literally instead.
- */
-fix = {
- hackname = solaris_cond_init;
- select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
- files = pthread.h;
- mach = '*-*-solaris2.8';
- c_fix = format;
- c_fix_arg = "%1, 0x4356%2";
- c_fix_arg = "^(#define[ \t]+PTHREAD_COND_INITIALIZER[ \t]+"
- "\\{.*0)(\\},[ \t]*0\\}.*)$";
- test_text =
- '#pragma ident "@(#)pthread.h 1.29 01/07/07 SMI"'"\n"
- '#define PTHREAD_COND_INITIALIZER {{{0}, 0}, 0} /* = DEFAULTCV */';
-};
-
-
-/*
* g++ rejects functions declared with both C and C++ linkage.
*/
fix = {
@@ -3422,13 +3402,13 @@ fix = {
/*
- * On Solaris 8 and 9, __va_list needs to become a typedef for
+ * 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.[89]';
+ mach = '*-*-solaris2.9';
select = "#if.*__STDC__.*\n"
"typedef void \\*__va_list;\n"
"#else\n"
diff --git a/fixincludes/tests/base/pthread.h b/fixincludes/tests/base/pthread.h
--- a/fixincludes/tests/base/pthread.h
+++ b/fixincludes/tests/base/pthread.h
@@ -75,16 +75,6 @@ extern int __sigsetjmp (struct __jmp_buf
#endif /* PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_CHECK */
-#if defined( SOLARIS_COND_INIT_CHECK )
-#pragma ident "@(#)pthread.h 1.29 01/07/07 SMI"
-#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
-#define PTHREAD_COND_INITIALIZER {{{0}, 0, 0x4356}, 0} /* = DEFAULTCV */
-#else
-#define PTHREAD_COND_INITIALIZER {{{0}, 0, 0x4356}, {0}} /* = DEFAULTCV */
-#endif
-#endif /* SOLARIS_COND_INIT_CHECK */
-
-
#if defined( SOLARIS_MUTEX_INIT_2_CHECK )
#ident "@(#)pthread.h 1.26 98/04/12 SMI"
#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
diff --git a/gcc/acinclude.m4 b/gcc/acinclude.m4
--- a/gcc/acinclude.m4
+++ b/gcc/acinclude.m4
@@ -461,23 +461,7 @@ changequote([,])dnl
# error The C library not known to support .init_array/.fini_array
# endif
#endif
-])],[
- case "${target}" in
- *-*-solaris2.8*)
- # .init_array/.fini_array support was introduced in Solaris 8
- # patches 109147-08 (sparc) and 109148-08 (x86). Since ld.so.1 and
- # ld are guaranteed to be updated in lockstep, we can check ld -V
- # instead. Unfortunately, proper ld version numbers were only
- # introduced in rev. -14, so we check for that.
- if test "$gcc_cv_sun_ld_vers_minor" -lt 272; then
- gcc_cv_initfini_array=no
- fi
- ;;
- *-*-solaris2.9* | *-*-solaris2.1[[0-9]]*)
- # .init_array/.fini_array support is present since Solaris 9 FCS.
- ;;
- esac
-], [gcc_cv_initfini_array=no]);;
+])],, [gcc_cv_initfini_array=no]);;
esac
else
AC_MSG_CHECKING(cross compile... guessing)
diff --git a/gcc/config.gcc b/gcc/config.gcc
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -251,7 +251,6 @@ case ${target} in
| arm*-*-uclinux* \
| arm*-wince-pe* \
| score-* \
- | *-*-solaris2.8* \
)
if test "x$enable_obsolete" != xyes; then
echo "*** Configuration ${target} is obsolete." >&2
@@ -282,9 +281,9 @@ case ${target} in
| *-*-rtemsaout* \
| *-*-rtemscoff* \
| *-*-solaris2 \
- | *-*-solaris2.[0-7] \
- | *-*-solaris2.[0-7].* \
- | *-*-sysv* \
+ | *-*-solaris2.[0-8] \
+ | *-*-solaris2.[0-8].* \
+ | *-*-sysv* \
| vax-*-vms* \
)
echo "*** Configuration ${target} not supported" 1>&2
@@ -1320,9 +1319,8 @@ i[34567]86-*-solaris2* | x86_64-*-solari
# 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.[89]*)
- # Solaris 8 and 9/x86 cannot execute SSE/SSE2 instructions by
- # default.
+ *-*-solaris2.9*)
+ # Solaris 9/x86 cannot execute SSE/SSE2 instructions by default.
with_arch_32=${with_arch_32:-pentiumpro}
;;
*)
diff --git a/gcc/config/i386/sol2.h b/gcc/config/i386/sol2.h
--- a/gcc/config/i386/sol2.h
+++ b/gcc/config/i386/sol2.h
@@ -1,6 +1,6 @@
/* Target definitions for GCC for Intel 80386 running Solaris 2
Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
- 2004, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2004, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Fred Fish (fnf@cygnus.com).
This file is part of GCC.
@@ -21,7 +21,7 @@ along with GCC; see the file COPYING3.
/* Augment i386/unix.h version to return 8-byte vectors in memory, matching
Sun Studio compilers until version 12, the only ones supported on
- Solaris 8 and 9. */
+ Solaris 9. */
#undef TARGET_SUBTARGET_DEFAULT
#define TARGET_SUBTARGET_DEFAULT \
(MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_VECT8_RETURNS)
@@ -63,7 +63,7 @@ along with GCC; see the file COPYING3.
#define ASM_CPU_SPEC ""
-/* Don't include ASM_PIC_SPEC. While the Solaris 8 and 9 assembler accepts
+/* Don't include ASM_PIC_SPEC. While the Solaris 9 assembler accepts
-K PIC, it gives many warnings:
R_386_32 relocation is used for symbol "<symbol>"
GNU as doesn't recognize -K at all. */
diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h
--- a/gcc/config/sol2.h
+++ b/gcc/config/sol2.h
@@ -1,6 +1,6 @@
/* Operating system specific defines to be used when targeting GCC for any
Solaris 2 system.
- Copyright 2002, 2003, 2004, 2007, 2008, 2009, 2010, 2011
+ Copyright 2002, 2003, 2004, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
@@ -173,7 +173,6 @@ along with GCC; see the file COPYING3.
%{static:-dn -Bstatic} \
%{shared:-G -dy %{!mimpure-text:-z text}} \
%{symbolic:-Bsymbolic -G -dy -z text} \
- %{pthreads|pthread|fprofile-generate*:" LIB_THREAD_LDFLAGS_SPEC "} \
%(link_arch) \
%{Qy:} %{!Qn:-Qy}"
diff --git a/gcc/configure.ac b/gcc/configure.ac
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -2345,15 +2345,6 @@ else
hppa64*-*-hpux* | ia64*-*-hpux*)
gcc_cv_ld_hidden=yes
;;
- *-*-solaris2.8*)
- # .hidden support was backported to Solaris 8, starting with ld
- # version 1.276.
- if test "$ld_vers_minor" -ge 276; then
- gcc_cv_ld_hidden=yes
- else
- gcc_cv_ld_hidden=no
- fi
- ;;
*-*-solaris2.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.
@@ -3170,10 +3161,9 @@ else
[set_have_as_tls=yes])
fi
case "$target" in
- # TLS was introduced in the Solaris 9 FCS release and backported to
- # Solaris 8 patches. Support for GNU-style 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.
+ # TLS was introduced in the Solaris 9 FCS release. Support for GNU-style
+ # 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
@@ -3184,14 +3174,6 @@ case "$target" in
ld_tls_support=yes
else
case "$target" in
- # Solaris 8/x86 ld has GNU style TLS support since version 1.280.
- i?86-*-solaris2.8)
- min_tls_ld_vers_minor=280
- ;;
- # Solaris 8/SPARC ld has TLS support since version 1.272.
- sparc*-*-solaris2.8)
- min_tls_ld_vers_minor=272
- ;;
# Solaris 9/x86 ld has GNU style TLS support since version 1.374.
i?86-*-solaris2.9)
min_tls_ld_vers_minor=374
@@ -3215,28 +3197,6 @@ case "$target" in
LIBS=
LDFLAGS=
- AC_MSG_CHECKING(alternate thread library)
- case "$target" in
- # TLS support was backported to Solaris 8 patches, but only lives in
- # the alternate thread library which became the default in Solaris 9.
- # We want to always use that, irrespective of TLS support.
- *-*-solaris2.8)
- # Take multilib subdir into account. There's no spec to handle
- # this. The 64 symlink exists since Solaris 8.
- lwp_dir=/usr/lib/lwp
- lwp_spec="-L$lwp_dir%{m64:/64} -R$lwp_dir%{m64:/64}"
- LDFLAGS="-L$lwp_dir -R$lwp_dir"
- ;;
- *-*-solaris2*)
- lwp_dir="none"
- lwp_spec=""
- ;;
- esac
- # Always define LIB_THREAD_LDFLAGS_SPEC, even without TLS support.
- AC_DEFINE_UNQUOTED(LIB_THREAD_LDFLAGS_SPEC, "$lwp_spec",
- [Define to the linker flags to use for -pthread.])
- AC_MSG_RESULT($lwp_dir)
-
AC_MSG_CHECKING(library containing $tga_func)
# Before Solaris 10, __tls_get_addr (SPARC/x64) resp. ___tls_get_addr
# (32-bit x86) only lived in libthread, so check for that. Keep
@@ -3246,13 +3206,6 @@ case "$target" in
if test $set_have_as_tls = no; then
LIBS=
fi
- # Even without TLS support on Solaris 8, explicitly link with libthread
- # to guarantee that the alternate thread library is used.
- case "$target" in
- *-*-solaris2.8)
- LIBS=-lthread
- ;;
- esac
# Always define LIB_TLS_SPEC, even without TLS support.
AC_DEFINE_UNQUOTED(LIB_TLS_SPEC, "$LIBS",
[Define to the library containing __tls_get_addr/___tls_get_addr.])
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -3014,7 +3014,7 @@ information are.
@item
@uref{#ix86-x-linux,,i?86-*-linux*}
@item
-@uref{#ix86-x-solaris289,,i?86-*-solaris2.[89]}
+@uref{#ix86-x-solaris289,,i?86-*-solaris2.9}
@item
@uref{#ix86-x-solaris210,,i?86-*-solaris2.10}
@item
@@ -3551,8 +3551,8 @@ found on @uref{http://www.bitwizard.nl/s
@html
<hr />
@end html
-@heading @anchor{ix86-x-solaris289}i?86-*-solaris2.[89]
-The Sun assembler in Solaris 8 and 9 has several bugs and limitations.
+@heading @anchor{ix86-x-solaris29}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
@@ -3562,9 +3562,9 @@ 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. There is no
-corresponding patch for Solaris 8. To avoid this problem,
-@option{-march} defaults to @samp{pentiumpro} on Solaris 8 and 9. If
+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.
@@ -4066,9 +4066,8 @@ supported as cross-compilation target on
@c alone is too unspecific and must be avoided.
@heading @anchor{x-x-solaris2}*-*-solaris2*
-Support for Solaris 8 has been obsoleted in GCC 4.7, but can still be
-enabled by configuring with @option{--enable-obsolete}. Support will be
-removed in GCC 4.8. Support for Solaris 7 has been removed in GCC 4.6.
+Support for Solaris 8 has 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
@@ -4141,13 +4140,6 @@ newer: @command{g++} will complain that
assume that omitting the type means @code{int}; this assumption worked for
C90 but is wrong for C++, and is now wrong for C99 also.
-@command{g++} accepts such (invalid) constructs with the option
-@option{-fpermissive}; it will assume that any missing type is @code{int}
-(as defined by C90).
-
-There are patches for Solaris 8 (108652-24 or newer for SPARC,
-108653-22 for Intel) that fix this bug.
-
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}
@@ -4155,27 +4147,19 @@ 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 8 (117350-12 or newer for SPARC,
-117351-12 or newer for Intel) and Solaris 9 (117171-11 or newer for
+There are patches for Solaris 9 (117171-11 or newer for
SPARC, 117172-11 or newer for Intel) that address this problem.
-Solaris@tie{}8 provides an alternate implementation of the thread
-library @samp{libthread}. It is required for TLS support and has
-been made the default in Solaris@tie{}9, so it is always used on
-Solaris@tie{}8.
-
-Thread-local storage (TLS) is supported in Solaris@tie{}8 and 9, but requires
+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{}8, you need 108993-26 or newer on
-SPARC, 108994-26 or newer on Intel. On Solaris@tie{}9, the necessary support
+(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{}8, patch 109147-14 or newer on SPARC or
-109148-22 or newer on Intel are required for the Sun @command{ld} and
-runtime linker (@command{ld.so.1}) support. Again, Solaris@tie{}9/SPARC
-works since FCS, while 113986-02 is required on Intel. The linker
+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{}8 and 9 doesn't support the necessary
+@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
diff --git a/gcc/testsuite/g++.dg/warn/miss-format-1.C b/gcc/testsuite/g++.dg/warn/miss-format-1.C
--- a/gcc/testsuite/g++.dg/warn/miss-format-1.C
+++ b/gcc/testsuite/g++.dg/warn/miss-format-1.C
@@ -4,7 +4,7 @@
/* { dg-options "-Wmissing-format-attribute" } */
/* { dg-options "-Wmissing-format-attribute -Wno-abi" { target arm_eabi } } */
/* VxWorks does not provide vscanf, either in kernel or RTP mode. */
-/* { dg-error "not declared" "" { target { *-*-solaris2.8 *-*-vxworks* } } 26 } */
+/* { dg-error "not declared" "" { target *-*-vxworks* } 26 } */
#include <stdio.h>
#include <stdarg.h>
@@ -23,7 +23,7 @@ bar (const char *fmt, ...)
{
va_list ap;
va_start (ap, fmt);
- vscanf (fmt, ap); /* { dg-warning "candidate" "scanf attribute warning" { xfail *-*-solaris2.8 *-*-vxworks* } } */
+ vscanf (fmt, ap); /* { dg-warning "candidate" "scanf attribute warning" { xfail *-*-vxworks* } } */
va_end (ap);
}
diff --git a/gcc/testsuite/gcc.dg/c99-stdint-6.c b/gcc/testsuite/gcc.dg/c99-stdint-6.c
--- a/gcc/testsuite/gcc.dg/c99-stdint-6.c
+++ b/gcc/testsuite/gcc.dg/c99-stdint-6.c
@@ -2,7 +2,7 @@
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.[89]* } } */
+/* { dg-options "-std=gnu99 -pedantic-errors -DNO_FAST_TYPES" { target *-*-solaris2.9* } } */
#include <inttypes.h>
#ifndef SIGNAL_SUPPRESS
diff --git a/gcc/testsuite/gcc.dg/lto/20090210_0.c b/gcc/testsuite/gcc.dg/lto/20090210_0.c
--- a/gcc/testsuite/gcc.dg/lto/20090210_0.c
+++ b/gcc/testsuite/gcc.dg/lto/20090210_0.c
@@ -2,7 +2,7 @@
/* { dg-require-effective-target fpic } */
/* { dg-suppress-ld-options {-fPIC} } */
/* { dg-require-effective-target tls_runtime } */
-/* { dg-extra-ld-options "-pthread" { target *-*-solaris2.[89] } } */
+/* { dg-extra-ld-options "-pthread" { target *-*-solaris2.9 } } */
int foo (int x)
{
return x;
diff --git a/gcc/testsuite/gcc.dg/pr28796-2.c b/gcc/testsuite/gcc.dg/pr28796-2.c
--- a/gcc/testsuite/gcc.dg/pr28796-2.c
+++ b/gcc/testsuite/gcc.dg/pr28796-2.c
@@ -2,7 +2,6 @@
/* { dg-options "-O2 -funsafe-math-optimizations -fno-finite-math-only -DUNSAFE" } */
/* { dg-add-options ieee } */
/* { dg-skip-if "No Inf/NaN support" { spu-*-* } } */
-/* { dg-skip-if "Bug in _Q_dtoq" { sparc*-sun-solaris2.8 } } */
#include "tg-tests.h"
diff --git a/gcc/testsuite/gcc.dg/pragma-init-fini-2.c b/gcc/testsuite/gcc.dg/pragma-init-fini-2.c
--- a/gcc/testsuite/gcc.dg/pragma-init-fini-2.c
+++ b/gcc/testsuite/gcc.dg/pragma-init-fini-2.c
@@ -2,7 +2,6 @@
/* { dg-do link { target *-*-solaris2.* } } */
/* { dg-options "-fpic" } */
-/* { dg-xfail-if "no .pushsection/.popsection" { i?86-*-solaris2.8 && { ! gas } } } */
#include <stdio.h>
diff --git a/gcc/testsuite/gcc.dg/pragma-init-fini.c b/gcc/testsuite/gcc.dg/pragma-init-fini.c
--- a/gcc/testsuite/gcc.dg/pragma-init-fini.c
+++ b/gcc/testsuite/gcc.dg/pragma-init-fini.c
@@ -1,7 +1,6 @@
/* Tests for #pragma init and #pragma fini. */
/* { dg-do run { target *-*-solaris2.* } } */
-/* { dg-skip-if "no .pushsection/.popsection" { i?86-*-solaris2.8 && { ! gas } } } */
extern void abort ();
diff --git a/gcc/testsuite/gcc.dg/torture/pr47917.c b/gcc/testsuite/gcc.dg/torture/pr47917.c
--- a/gcc/testsuite/gcc.dg/torture/pr47917.c
+++ b/gcc/testsuite/gcc.dg/torture/pr47917.c
@@ -1,6 +1,6 @@
/* { dg-do run } */
/* { dg-options "-std=c99" } */
-/* { dg-options "-std=c99 -D_XOPEN_SOURCE=500" { target *-*-solaris2.[89] } } */
+/* { 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-if "no C99 snprintf function" { *-*-hpux10* } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr22076.c b/gcc/testsuite/gcc.target/i386/pr22076.c
--- a/gcc/testsuite/gcc.target/i386/pr22076.c
+++ b/gcc/testsuite/gcc.target/i386/pr22076.c
@@ -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.[89] *-*-vxworks* } } */
+/* { dg-options "-O2 -fomit-frame-pointer -flax-vector-conversions -mmmx -mno-vect8-ret-in-mem" { target i?86-*-solaris2.9 *-*-vxworks* } } */
#include <mmintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/pr22152.c b/gcc/testsuite/gcc.target/i386/pr22152.c
--- a/gcc/testsuite/gcc.target/i386/pr22152.c
+++ b/gcc/testsuite/gcc.target/i386/pr22152.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -msse2" } */
-/* { dg-options "-O2 -msse2 -mno-vect8-ret-in-mem" { target i?86-*-solaris2.[89] *-*-vxworks* } } */
+/* { dg-options "-O2 -msse2 -mno-vect8-ret-in-mem" { target i?86-*-solaris2.9 *-*-vxworks* } } */
/* { dg-additional-options "-mabi=sysv" { target x86_64-*-mingw* } } */
#include <mmintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/vect8-ret.c b/gcc/testsuite/gcc.target/i386/vect8-ret.c
--- a/gcc/testsuite/gcc.target/i386/vect8-ret.c
+++ b/gcc/testsuite/gcc.target/i386/vect8-ret.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target ia32 } } */
-/* { dg-options "-mmmx" { target i?86-*-solaris2.[89] *-*-vxworks* } } */
+/* { dg-options "-mmmx" { target i?86-*-solaris2.9 *-*-vxworks* } } */
/* { dg-options "-mmmx -mvect8-ret-in-mem" } */
#include <mmintrin.h>
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -569,11 +569,11 @@ proc check_effective_target_pcc_bitfield
# Add to FLAGS all the target-specific flags needed to use thread-local storage.
proc add_options_for_tls { flags } {
- # On Solaris 8 and 9, __tls_get_addr/___tls_get_addr only lives in
+ # On Solaris 9, __tls_get_addr/___tls_get_addr only lives in
# libthread, so always pass -pthread for native TLS.
# Need to duplicate native TLS check from
# check_effective_target_tls_native to avoid recursion.
- if { [istarget *-*-solaris2.\[89\]*] &&
+ if { [istarget *-*-solaris2.9*] &&
[check_no_messages_and_pattern tls_native "!emutls" assembly {
__thread int i;
int f (void) { return i; }
diff --git a/libcpp/lex.c b/libcpp/lex.c
--- a/libcpp/lex.c
+++ b/libcpp/lex.c
@@ -1,6 +1,6 @@
/* CPP Library - lexical analysis.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010,
- 2011 Free Software Foundation, Inc.
+ 2011, 2012 Free Software Foundation, Inc.
Contributed by Per Bothner, 1994-95.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -267,7 +267,6 @@ search_line_acc_char (const uchar *s, co
/* Disable on Solaris 2/x86 until the following problems can be properly
autoconfed:
- The Solaris 8 assembler cannot assemble SSE2/SSE4.2 insns.
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
diff --git a/libgcc/config/i386/sol2-unwind.h b/libgcc/config/i386/sol2-unwind.h
--- a/libgcc/config/i386/sol2-unwind.h
+++ b/libgcc/config/i386/sol2-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for AMD x86-64 and x86.
- Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2012 Free Software Foundation, Inc.
This file is part of GCC.
@@ -144,55 +144,23 @@ x86_fallback_frame_state (struct _Unwind
mcontext_t *mctx;
long new_cfa;
- if (/* Solaris 8 - single-threaded
+ if (/* Solaris 9 - single-threaded
----------------------------
- <sigacthandler+17>: mov 0x10(%ebp),%esi
- <sigacthandler+20>: push %esi
- <sigacthandler+21>: pushl 0xc(%ebp)
- <sigacthandler+24>: mov 0x8(%ebp),%ecx
- <sigacthandler+27>: push %ecx
- <sigacthandler+28>: mov offset(%ebx),%eax
- <sigacthandler+34>: call *(%eax,%ecx,4)
- <sigacthandler+37>: add $0xc,%esp <--- PC
- <sigacthandler+40>: push %esi ... */
- (*(unsigned long *)(pc - 20) == 0x5610758b
- && *(unsigned long *)(pc - 16) == 0x8b0c75ff
- && *(unsigned long *)(pc - 12) == 0x8b51084d
- && *(unsigned char *)(pc - 8) == 0x83
- && *(unsigned long *)(pc - 4) == 0x8814ff00
- && *(unsigned long *)(pc - 0) == 0x560cc483)
-
- || /* Solaris 8 - multi-threaded
- ---------------------------
- <__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>: leave <--- PC */
- (*(unsigned long *)(pc - 15) == 0xffec8b55
- && *(unsigned long *)(pc - 11) == 0x75ff1075
- && *(unsigned long *)(pc - 7) == 0x0875ff0c
- && *(unsigned long *)(pc - 3) == 0xc91455ff)
-
- || /* 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)
+ <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
---------------------------------------
diff --git a/libgcc/config/sparc/sol2-unwind.h b/libgcc/config/sparc/sol2-unwind.h
--- a/libgcc/config/sparc/sol2-unwind.h
+++ b/libgcc/config/sparc/sol2-unwind.h
@@ -36,44 +36,25 @@ see the files COPYING3 and COPYING.RUNTI
static int
sparc64_is_sighandler (unsigned int *pc, void *cfa, int *nframes)
{
- if (/* Solaris 8 - single-threaded
+ if (/* Solaris 9 - single-threaded
----------------------------
- <sigacthandler+24>: add %g5, %o7, %o2
- <sigacthandler+28>: ldx [ %o2 + 0xfa0 ], %g5
- <sigacthandler+32>: sra %i0, 0, %o0
- <sigacthandler+36>: sllx %o0, 3, %g4
+ 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 %i3, 8 <--- PC */
- ( pc[-7] == 0x9401400f
- && pc[-6] == 0xca5aafa0
- && pc[-5] == 0x913e2000
- && pc[-4] == 0x892a3003
- && pc[-3] == 0xe0590005
- && pc[-2] == 0x9fc40000
- && pc[-1] == 0x9410001a
- && pc[ 0] == 0x80a6e008)
-
- || /* 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 */
+ <sigacthandler+52>: cmp %l1, 8 <--- PC */
( pc[-7] == 0xa33e2000
/* skip pc[-6] */
&& pc[-5] == 0x892c7003
@@ -147,8 +128,7 @@ sparc64_is_sighandler (unsigned int *pc,
}
else if (cuh_pattern == 0x9410001a || cuh_pattern == 0x94100013)
- /* This matches the call_user_handler pattern for Solaris 9 and
- for Solaris 8 running inside Solaris Containers respectively
+ /* This matches the call_user_handler pattern for Solaris 9.
We need to move up three frames:
<signal handler> <-- context->cfa
@@ -159,17 +139,6 @@ sparc64_is_sighandler (unsigned int *pc,
*/
*nframes = 3;
- else /* cuh_pattern == 0xe0272010 */
- /* This is the default Solaris 8 case.
- We need to move up two frames:
-
- <signal handler> <-- context->cfa
- __sighndlr
- sigacthandler
- <kernel>
- */
- *nframes = 2;
-
return 1;
}
@@ -211,8 +180,8 @@ sparc64_frob_update_context (struct _Unw
static int
sparc_is_sighandler (unsigned int *pc, void *cfa, int *nframes)
{
- if (/* Solaris 8, 9 - single-threaded
- -------------------------------
+ if (/* Solaris 9 - single-threaded
+ ----------------------------
The pattern changes slightly in different versions of the operating
system, so we skip the comparison against pc[-6].
@@ -247,37 +216,6 @@ sparc_is_sighandler (unsigned int *pc, v
return 1;
}
- if (/* Solaris 8 - multi-threaded
- ---------------------------
- <__libthread_segvhdlr+212>: clr %o2
- <__libthread_segvhdlr+216>: ld [ %fp + -28 ], %l0
- <__libthread_segvhdlr+220>: mov %i4, %o0
- <__libthread_segvhdlr+224>: mov %i1, %o1
- <__libthread_segvhdlr+228>: call %l0
- <__libthread_segvhdlr+232>: mov %i2, %o2
- <__libthread_segvhdlr+236>: ret <--- PC
- <__libthread_segvhdlr+240>: restore
- <__libthread_segvhdlr+244>: cmp %o1, 0 */
- pc[-6] == 0x94102000
- && pc[-5] == 0xe007bfe4
- && pc[-4] == 0x9010001c
- && pc[-3] == 0x92100019
- && pc[-2] == 0x9fc40000
- && pc[-1] == 0x9410001a
- && pc[ 0] == 0x81c7e008
- && pc[ 1] == 0x81e80000
- && pc[ 2] == 0x80a26000)
- {
- /* We need to move up one frame:
-
- <signal handler> <-- context->cfa
- __libthread_segvhdlr
- <kernel>
- */
- *nframes = 1;
- return 1;
- }
-
if(/* Solaris 8+ - multi-threaded
----------------------------
<__sighndlr>: save %sp, -96, %sp
@@ -332,8 +270,7 @@ sparc_is_sighandler (unsigned int *pc, v
}
else if (cuh_pattern == 0x9410001a || cuh_pattern == 0x9410001b)
- /* This matches the call_user_handler pattern for Solaris 9 and
- for Solaris 8 running inside Solaris Containers respectively.
+ /* This matches the call_user_handler pattern for Solaris 9.
We need to move up three frames:
<signal handler> <-- context->cfa
@@ -344,17 +281,6 @@ sparc_is_sighandler (unsigned int *pc, v
*/
*nframes = 3;
- else /* cuh_pattern == 0x90100018 */
- /* This is the default Solaris 8 case.
- We need to move up two frames:
-
- <signal handler> <-- context->cfa
- __sighndlr
- sigacthandler
- <kernel>
- */
- *nframes = 2;
-
return 1;
}
diff --git a/libgo/configure.ac b/libgo/configure.ac
--- a/libgo/configure.ac
+++ b/libgo/configure.ac
@@ -282,8 +282,8 @@ AC_SUBST(GO_SYSCALL_OS_ARCH_FILE)
dnl Special flags used to generate sysinfo.go.
OSCFLAGS="-D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
case "$target" in
- *-*-solaris2.[[89]])
- # Solaris 8/9 need this so struct msghdr gets the msg_control
+ *-*-solaris2.9)
+ # Solaris 9 needs 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__"
;;
@@ -623,7 +623,7 @@ 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]]*)
+ sparc*-*-solaris2.9*)
libgo_cv_lib_makecontext_stack_top=yes
;;
*)
diff --git a/libjava/configure.ac b/libjava/configure.ac
--- a/libjava/configure.ac
+++ b/libjava/configure.ac
@@ -1086,16 +1086,8 @@ case "$THREADS" in
THREADLIBS='-lpthread -lrt'
THREADSPEC='-lpthread -lrt'
;;
- *-*-solaris2.8)
- # Always use alternate thread library on Solaris 8. Need libthread
- # for TLS support.
- # Need -Wl,-R to get it through libtool ...
- THREADLIBS='-L/usr/lib/lwp$(MULTISUBDIR) -Wl,-R -Wl,/usr/lib/lwp$(MULTISUBDIR) -lpthread -lthread'
- # ... while ld only accepts -R.
- THREADSPEC='-L/usr/lib/lwp%{m64:/64} -R/usr/lib/lwp%{m64:/64} -lpthread -lthread'
- ;;
*-*-solaris2.9)
- # As on Solaris 8, need libthread for TLS support.
+ # Need libthread for TLS support.
THREADLIBS='-lpthread -lthread'
THREADSPEC='-lpthread -lthread'
;;
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -1715,100 +1715,6 @@ AC_DEFUN([GLIBCXX_COMPUTE_STDIO_INTEGER_
])
dnl
-dnl Check whether required C++ overloads are present in <math.h>.
-dnl
-
-AC_DEFUN([GLIBCXX_CHECK_MATH_PROTO], [
-
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
-
- case "$host" in
- *-*-solaris2.*)
- # Solaris 8 FCS only had an overload for double std::abs(double) in
- # <iso/math_iso.h>. Patches 111721-04 (SPARC) and 112757-01 (x86)
- # introduced the full set also found from Solaris 9 onwards.
- AC_MSG_CHECKING([for float std::abs(float) overload])
- AC_CACHE_VAL(glibcxx_cv_abs_float, [
- AC_COMPILE_IFELSE([AC_LANG_SOURCE(
- [#include <math.h>
- namespace std {
- inline float abs(float __x)
- { return __builtin_fabsf(__x); }
- }
- ])],
- [glibcxx_cv_abs_float=no],
- [glibcxx_cv_abs_float=yes]
- )])
-
- # autoheader cannot handle indented templates.
- AH_VERBATIM([__CORRECT_ISO_CPP_MATH_H_PROTO1],
- [/* Define if all C++ overloads are available in <math.h>. */
-#if __cplusplus >= 199711L
-#undef __CORRECT_ISO_CPP_MATH_H_PROTO1
-#endif])
- AH_VERBATIM([__CORRECT_ISO_CPP_MATH_H_PROTO2],
- [/* Define if only double std::abs(double) is available in <math.h>. */
-#if __cplusplus >= 199711L
-#undef __CORRECT_ISO_CPP_MATH_H_PROTO2
-#endif])
-
- if test $glibcxx_cv_abs_float = yes; then
- AC_DEFINE(__CORRECT_ISO_CPP_MATH_H_PROTO1)
- else
- AC_DEFINE(__CORRECT_ISO_CPP_MATH_H_PROTO2)
- fi
- AC_MSG_RESULT($glibcxx_cv_abs_float)
- ;;
- esac
-
- AC_LANG_RESTORE
-])
-
-dnl
-dnl Check whether required C++ overloads are present in <stdlib.h>.
-dnl
-
-AC_DEFUN([GLIBCXX_CHECK_STDLIB_PROTO], [
-
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
-
- case "$host" in
- *-*-solaris2.*)
- # Solaris 8 FCS lacked the overloads for long std::abs(long) and
- # ldiv_t std::div(long, long) in <iso/stdlib_iso.h>. Patches 109607-02
- # (SPARC) and 109608-02 (x86) introduced them.
- AC_MSG_CHECKING([for long std::abs(long) overload])
- AC_CACHE_VAL(glibcxx_cv_abs_long, [
- AC_COMPILE_IFELSE([AC_LANG_SOURCE(
- [#include <stdlib.h>
- namespace std {
- inline long
- abs(long __i) { return labs(__i); }
- }
- ])],
- [glibcxx_cv_abs_long=no],
- [glibcxx_cv_abs_long=yes]
- )])
-
- # autoheader cannot handle indented templates.
- AH_VERBATIM([__CORRECT_ISO_CPP_STDLIB_H_PROTO],
- [/* Define if all C++ overloads are available in <stdlib.h>. */
-#if __cplusplus >= 199711L
-#undef __CORRECT_ISO_CPP_STDLIB_H_PROTO
-#endif])
- if test $glibcxx_cv_abs_long = yes; then
- AC_DEFINE(__CORRECT_ISO_CPP_STDLIB_H_PROTO, 1)
- fi
- AC_MSG_RESULT($glibcxx_cv_abs_long)
- ;;
- esac
-
- AC_LANG_RESTORE
-])
-
-dnl
dnl Check whether required C++ overloads are present in <stdio.h>.
dnl
AC_DEFUN([GLIBCXX_CHECK_STDIO_PROTO], [
@@ -3401,9 +3307,9 @@ AC_DEFUN([GLIBCXX_CHECK_GTHREADS], [
#error
#endif
], [case $target_os in
- # gthreads support breaks symbol versioning on Solaris 8/9 (PR
+ # gthreads support breaks symbol versioning on Solaris 9 (PR
# libstdc++/52189).
- solaris2.[[89]]*)
+ solaris2.9*)
if test x$enable_symvers = xno; then
ac_has_gthreads=yes
elif test x$enable_libstdcxx_threads = xyes; then
diff --git a/libstdc++-v3/config/abi/post/solaris2.8/baseline_symbols.txt b/libstdc++-v3/config/abi/post/solaris2.9/baseline_symbols.txt
rename from libstdc++-v3/config/abi/post/solaris2.8/baseline_symbols.txt
rename to libstdc++-v3/config/abi/post/solaris2.9/baseline_symbols.txt
diff --git a/libstdc++-v3/config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt b/libstdc++-v3/config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt
rename from libstdc++-v3/config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt
rename to libstdc++-v3/config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt
diff --git a/libstdc++-v3/config/os/solaris/solaris2.8/ctype_base.h b/libstdc++-v3/config/os/solaris/solaris2.9/ctype_base.h
rename from libstdc++-v3/config/os/solaris/solaris2.8/ctype_base.h
rename to libstdc++-v3/config/os/solaris/solaris2.9/ctype_base.h
diff --git a/libstdc++-v3/config/os/solaris/solaris2.8/ctype_configure_char.cc b/libstdc++-v3/config/os/solaris/solaris2.9/ctype_configure_char.cc
rename from libstdc++-v3/config/os/solaris/solaris2.8/ctype_configure_char.cc
rename to libstdc++-v3/config/os/solaris/solaris2.9/ctype_configure_char.cc
diff --git a/libstdc++-v3/config/os/solaris/solaris2.8/ctype_inline.h b/libstdc++-v3/config/os/solaris/solaris2.9/ctype_inline.h
rename from libstdc++-v3/config/os/solaris/solaris2.8/ctype_inline.h
rename to libstdc++-v3/config/os/solaris/solaris2.9/ctype_inline.h
diff --git a/libstdc++-v3/config/os/solaris/solaris2.8/os_defines.h b/libstdc++-v3/config/os/solaris/solaris2.9/os_defines.h
rename from libstdc++-v3/config/os/solaris/solaris2.8/os_defines.h
rename to libstdc++-v3/config/os/solaris/solaris2.9/os_defines.h
--- a/libstdc++-v3/config/os/solaris/solaris2.8/os_defines.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.9/os_defines.h
@@ -1,6 +1,7 @@
-// Specific definitions for Solaris 8+ -*- C++ -*-
+// Specific definitions for Solaris 9+ -*- C++ -*-
-// Copyright (C) 2000, 2002, 2005, 2009, 2011 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002, 2005, 2009, 2011, 2012
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -29,11 +30,8 @@
// file will come before all others.
#if __cplusplus >= 199711L
-// Overloads in <iso/math_iso.h> and <iso/stdlib_iso.h> changed with
-// Solaris 8 patches. Since <bits/c++config.h> includes
-// <bits/os_defines.h> before configure results,
-// __CORRECT_ISO_CPP_MATH_H_PROTO[12] and __CORRECT_ISO_CPP_STDLIB_H_PROTO
-// must be defined via acinclude.m4.
+#define __CORRECT_ISO_CPP_MATH_H_PROTO
+#define __CORRECT_ISO_CPP_STDLIB_H_PROTO
#define __CORRECT_ISO_CPP_STRING_H_PROTO
#define __CORRECT_ISO_CPP_WCHAR_H_PROTO
#endif
diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
--- a/libstdc++-v3/configure.ac
+++ b/libstdc++-v3/configure.ac
@@ -134,8 +134,6 @@ GLIBCXX_ENABLE_PYTHON
GLIBCXX_ENABLE_WERROR([yes])
# Checks for operating systems support that doesn't require linking.
-GLIBCXX_CHECK_MATH_PROTO
-GLIBCXX_CHECK_STDLIB_PROTO
GLIBCXX_CHECK_STDIO_PROTO
GLIBCXX_CHECK_SYSTEM_ERROR
diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
--- a/libstdc++-v3/configure.host
+++ b/libstdc++-v3/configure.host
@@ -280,8 +280,8 @@ case "${host_os}" in
echo "Please specify the full version of Solaris, ie. solaris2.9 " 1>&2
exit 1
;;
- solaris2.[89] | solaris2.1[0-9])
- os_include_dir="os/solaris/solaris2.8"
+ solaris2.9 | solaris2.1[0-9])
+ os_include_dir="os/solaris/solaris2.9"
;;
tpf)
os_include_dir="os/tpf"
@@ -332,8 +332,8 @@ case "${host}" in
powerpc*-*-darwin*)
port_specific_symbol_files="\$(srcdir)/../config/os/bsd/darwin/ppc-extra.ver"
;;
- *-*-solaris2.[89])
- abi_baseline_pair=solaris2.8
+ *-*-solaris2.9)
+ abi_baseline_pair=solaris2.9
abi_baseline_subdir_switch=--print-multi-os-directory
;;
*-*-solaris2.1[0-9])
diff --git a/libstdc++-v3/crossconfig.m4 b/libstdc++-v3/crossconfig.m4
--- a/libstdc++-v3/crossconfig.m4
+++ b/libstdc++-v3/crossconfig.m4
@@ -198,7 +198,7 @@ case "${host}" in
;;
*-solaris*)
case "$target" in
- *-solaris2.8 | *-solaris2.9 | *-solaris2.10)
+ *-solaris2.9 | *-solaris2.10)
GLIBCXX_CHECK_LINKER_FEATURES
AC_DEFINE(HAVE_MBSTATE_T)
AC_DEFINE(HAVE_FINITE)
diff --git a/libstdc++-v3/doc/xml/manual/configure.xml b/libstdc++-v3/doc/xml/manual/configure.xml
--- a/libstdc++-v3/doc/xml/manual/configure.xml
+++ b/libstdc++-v3/doc/xml/manual/configure.xml
@@ -164,7 +164,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 8 and 9, where it would break symbol versioning. This
+ on Solaris 9, where it would break symbol versioning. This
option can change the library ABI.
</para>
</listitem></varlistentry>
diff --git a/libstdc++-v3/include/c_global/cmath b/libstdc++-v3/include/c_global/cmath
--- a/libstdc++-v3/include/c_global/cmath
+++ b/libstdc++-v3/include/c_global/cmath
@@ -1,7 +1,7 @@
// -*- C++ -*- C forwarding header.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008, 2009, 2010, 2011
+// 2006, 2007, 2008, 2009, 2010, 2011, 2012
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -78,14 +78,13 @@ namespace std _GLIBCXX_VISIBILITY(defaul
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
-#if !defined(__CORRECT_ISO_CPP_MATH_H_PROTO1) \
- && !defined(__CORRECT_ISO_CPP_MATH_H_PROTO2)
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR double
abs(double __x)
{ return __builtin_fabs(__x); }
#endif
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR float
abs(float __x)
{ return __builtin_fabsf(__x); }
@@ -104,7 +103,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::acos;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR float
acos(float __x)
{ return __builtin_acosf(__x); }
@@ -123,7 +122,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::asin;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR float
asin(float __x)
{ return __builtin_asinf(__x); }
@@ -142,7 +141,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::atan;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR float
atan(float __x)
{ return __builtin_atanf(__x); }
@@ -161,7 +160,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::atan2;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR float
atan2(float __y, float __x)
{ return __builtin_atan2f(__y, __x); }
@@ -182,7 +181,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::ceil;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR float
ceil(float __x)
{ return __builtin_ceilf(__x); }
@@ -201,7 +200,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::cos;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR float
cos(float __x)
{ return __builtin_cosf(__x); }
@@ -220,7 +219,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::cosh;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR float
cosh(float __x)
{ return __builtin_coshf(__x); }
@@ -239,7 +238,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::exp;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR float
exp(float __x)
{ return __builtin_expf(__x); }
@@ -258,7 +257,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::fabs;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR float
fabs(float __x)
{ return __builtin_fabsf(__x); }
@@ -277,7 +276,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::floor;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR float
floor(float __x)
{ return __builtin_floorf(__x); }
@@ -296,7 +295,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::fmod;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR float
fmod(float __x, float __y)
{ return __builtin_fmodf(__x, __y); }
@@ -317,7 +316,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::frexp;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline float
frexp(float __x, int* __exp)
{ return __builtin_frexpf(__x, __exp); }
@@ -336,7 +335,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::ldexp;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR float
ldexp(float __x, int __exp)
{ return __builtin_ldexpf(__x, __exp); }
@@ -355,7 +354,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::log;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR float
log(float __x)
{ return __builtin_logf(__x); }
@@ -374,7 +373,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::log10;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR float
log10(float __x)
{ return __builtin_log10f(__x); }
@@ -393,7 +392,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::modf;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline float
modf(float __x, float* __iptr)
{ return __builtin_modff(__x, __iptr); }
@@ -405,7 +404,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::pow;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR float
pow(float __x, float __y)
{ return __builtin_powf(__x, __y); }
@@ -442,7 +441,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::sin;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR float
sin(float __x)
{ return __builtin_sinf(__x); }
@@ -461,7 +460,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::sinh;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR float
sinh(float __x)
{ return __builtin_sinhf(__x); }
@@ -480,7 +479,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::sqrt;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR float
sqrt(float __x)
{ return __builtin_sqrtf(__x); }
@@ -499,7 +498,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::tan;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR float
tan(float __x)
{ return __builtin_tanf(__x); }
@@ -518,7 +517,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::tanh;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline _GLIBCXX_CONSTEXPR float
tanh(float __x)
{ return __builtin_tanhf(__x); }
diff --git a/libstdc++-v3/include/tr1/cmath b/libstdc++-v3/include/tr1/cmath
--- a/libstdc++-v3/include/tr1/cmath
+++ b/libstdc++-v3/include/tr1/cmath
@@ -1,6 +1,6 @@
// TR1 cmath -*- C++ -*-
-// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
+// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -563,12 +563,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// Note: we deal with fabs in a special way, because an using std::fabs
// would bring in also the overloads for complex types, which in C++0x
// mode have a different return type.
- // With __CORRECT_ISO_CPP_MATH_H_PROTO1, math.h imports std::fabs in the
+ // With __CORRECT_ISO_CPP_MATH_H_PROTO, math.h imports std::fabs in the
// global namespace after the declarations of the float / double / long
// double overloads but before the std::complex overloads.
using ::fabs;
-#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
+#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
inline float
fabs(float __x)
{ return __builtin_fabsf(__x); }
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc
@@ -1,7 +1,7 @@
// 1999-04-12 bkoz
// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009,
-// 2010
+// 2010, 2012
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -21,10 +21,10 @@
// 27.6.1.2.2 arithmetic extractors
-// XXX This test fails on Solaris 8 and 9 because of a bug in libc
+// 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.[89] } || lax_strtofp } } }
+// { dg-do run { xfail { { *-*-solaris2.9 } || lax_strtofp } } }
#include <istream>
#include <sstream>
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010
+// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2012
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -18,10 +18,10 @@
// 27.6.1.2.2 arithmetic extractors
-// XXX This test fails on Solaris 8 and 9 because of a bug in libc
+// 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.[89] } || lax_strtofp } } }
+// { dg-do run { xfail { { *-*-solaris2.9 } || lax_strtofp } } }
#include <istream>
#include <sstream>
diff --git a/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc b/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc
--- a/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc
+++ b/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc
@@ -1,10 +1,11 @@
// 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.[89] *-*-solaris2.10 } }
+// { dg-do run { xfail *-*-solaris2.9 *-*-solaris2.10 } }
// { dg-require-iconv "ISO-8859-1" }
-// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010 Free Software Foundation
+// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2012
+// Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
[-- Attachment #3: Type: text/plain, Size: 144 bytes --]
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Remove obsolete Solaris 8 support
2012-03-12 17:45 Remove obsolete Solaris 8 support Rainer Orth
@ 2012-03-12 18:31 ` Ian Lance Taylor
2012-03-15 14:34 ` Rainer Orth
2012-03-12 18:38 ` Mike Stump
` (6 subsequent siblings)
7 siblings, 1 reply; 18+ messages in thread
From: Ian Lance Taylor @ 2012-03-12 18:31 UTC (permalink / raw)
To: Rainer Orth; +Cc: gcc-patches, libstdc++, java-patches, Eric Botcazou
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:
> libgo:
> * configure.ac (OSCFLAGS): Remove *-*-solaris2.8 handling.
> (libgo_cv_lib_makecontext_stack_top): Remove
> sparc*-*-solaris2.8* handling.
> * configure: Regenerate.
As with the Irix 5 changes, just send the libgo patches to me rather
than committing them directly to the repository. Thanks.
Ian
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Remove obsolete Solaris 8 support
2012-03-12 17:45 Remove obsolete Solaris 8 support Rainer Orth
2012-03-12 18:31 ` Ian Lance Taylor
@ 2012-03-12 18:38 ` Mike Stump
2012-03-12 18:49 ` Richard Kenner
` (2 more replies)
2012-03-12 19:36 ` Bruce Korb
` (5 subsequent siblings)
7 siblings, 3 replies; 18+ messages in thread
From: Mike Stump @ 2012-03-12 18:38 UTC (permalink / raw)
To: Rainer Orth
Cc: gcc-patches, libstdc++, java-patches, Eric Botcazou, Ian Lance Taylor
On Mar 12, 2012, at 10:44 AM, Rainer Orth wrote:
> Since even extended support for Solaris 8 ends by March 31st, this patch
> removes Solaris 8 support from mainline.
One of the nice things about gcc is that gcc usually still works, long after a vendor has abandoned a machine. I rather like that gcc will just work, unlike vendor software, which often says, please buy a new machine. One doesn't have to remove support in gcc for something, just because a vendor doesn't support it. That said, truly crufty things, should go.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Remove obsolete Solaris 8 support
2012-03-12 18:38 ` Mike Stump
2012-03-12 18:49 ` Richard Kenner
@ 2012-03-12 18:49 ` Rainer Orth
2012-03-12 18:59 ` Mike Stump
2012-03-12 18:58 ` Steven Bosscher
2 siblings, 1 reply; 18+ messages in thread
From: Rainer Orth @ 2012-03-12 18:49 UTC (permalink / raw)
To: Mike Stump
Cc: gcc-patches, libstdc++, java-patches, Eric Botcazou, Ian Lance Taylor
Mike Stump <mikestump@comcast.net> writes:
> On Mar 12, 2012, at 10:44 AM, Rainer Orth wrote:
>> Since even extended support for Solaris 8 ends by March 31st, this patch
>> removes Solaris 8 support from mainline.
>
> One of the nice things about gcc is that gcc usually still works, long
> after a vendor has abandoned a machine. I rather like that gcc will
> just work, unlike vendor software, which often says, please buy a new
> machine. One doesn't have to remove support in gcc for something,
> just because a vendor doesn't support it. That said, truly crufty
> things, should go.
No need to tell me, that's why I've been keeping the IRIX and OSF ports
going for so long, sort of like an OS archaeologist :-) But both for
those and Solaris 8, the time has come where maintaining them is more
trouble than it's worth, as can be seen by the contortions I had to go
through to even find a machine still capable of running Solaris 8/x86.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Remove obsolete Solaris 8 support
2012-03-12 18:38 ` Mike Stump
@ 2012-03-12 18:49 ` Richard Kenner
2012-03-12 18:56 ` Rainer Orth
2012-03-12 18:49 ` Rainer Orth
2012-03-12 18:58 ` Steven Bosscher
2 siblings, 1 reply; 18+ messages in thread
From: Richard Kenner @ 2012-03-12 18:49 UTC (permalink / raw)
To: mikestump; +Cc: ebotcazou, gcc-patches, iant, java-patches, libstdc++, ro
> One of the nice things about gcc is that gcc usually still works,
> long after a vendor has abandoned a machine. I rather like that gcc
> will just work, unlike vendor software, which often says, please buy
> a new machine. One doesn't have to remove support in gcc for
> something, just because a vendor doesn't support it. That said,
> truly crufty things, should go.
I agree. If it's not causing a serious maintenance issue, I see no
reason to remove it.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Remove obsolete Solaris 8 support
2012-03-12 18:49 ` Richard Kenner
@ 2012-03-12 18:56 ` Rainer Orth
0 siblings, 0 replies; 18+ messages in thread
From: Rainer Orth @ 2012-03-12 18:56 UTC (permalink / raw)
To: Richard Kenner
Cc: mikestump, ebotcazou, gcc-patches, iant, java-patches, libstdc++
kenner@vlsi1.ultra.nyu.edu (Richard Kenner) writes:
>> One of the nice things about gcc is that gcc usually still works,
>> long after a vendor has abandoned a machine. I rather like that gcc
>> will just work, unlike vendor software, which often says, please buy
>> a new machine. One doesn't have to remove support in gcc for
>> something, just because a vendor doesn't support it. That said,
>> truly crufty things, should go.
>
> I agree. If it's not causing a serious maintenance issue, I see no
> reason to remove it.
It does, unfortunately: Solaris 8 is even worse wrt. to C99 and POSIX.1
conformance than Solaris 9, especially in the areas of TLS and thread
support, as I've found the hard way during the GCC 4.7 cycle. There are
all sorts of quirks, and the OS is now 12 years old. I see better ways
to spend my (volunteer) time.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Remove obsolete Solaris 8 support
2012-03-12 18:38 ` Mike Stump
2012-03-12 18:49 ` Richard Kenner
2012-03-12 18:49 ` Rainer Orth
@ 2012-03-12 18:58 ` Steven Bosscher
2 siblings, 0 replies; 18+ messages in thread
From: Steven Bosscher @ 2012-03-12 18:58 UTC (permalink / raw)
To: Mike Stump
Cc: Rainer Orth, gcc-patches, libstdc++,
java-patches, Eric Botcazou, Ian Lance Taylor
On Mon, Mar 12, 2012 at 7:37 PM, Mike Stump <mikestump@comcast.net> wrote:
> On Mar 12, 2012, at 10:44 AM, Rainer Orth wrote:
>> Since even extended support for Solaris 8 ends by March 31st, this patch
>> removes Solaris 8 support from mainline.
>
> One of the nice things about gcc is that gcc usually still works, long after a vendor has abandoned a machine. I rather like that gcc will just work, unlike vendor software, which often says, please buy a new machine. One doesn't have to remove support in gcc for something, just because a vendor doesn't support it. That said, truly crufty things, should go.
Personally, I'd be in favor of removing any target for which no test
results have been posted for the last, say, 2 GCC release series.
Otherwise there isn't any measure for the quality for such a target.
There've been GCC release series where a complete port failed to
build...
Ciao!
Steven
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Remove obsolete Solaris 8 support
2012-03-12 18:49 ` Rainer Orth
@ 2012-03-12 18:59 ` Mike Stump
0 siblings, 0 replies; 18+ messages in thread
From: Mike Stump @ 2012-03-12 18:59 UTC (permalink / raw)
To: Rainer Orth
Cc: gcc-patches, libstdc++, java-patches, Eric Botcazou, Ian Lance Taylor
On Mar 12, 2012, at 11:48 AM, Rainer Orth wrote:
> But both for those and Solaris 8, the time has come where maintaining them is more
> trouble than it's worth,
The nice thing is, anyone that disagrees with you, will step forward. :-) Notice, I didn't disagree with you... I was only railing against the idea that we remove support, simply because a vendor did. In this case, we're removing support, because it is more trouble than it is worth, which makes for a fine reason to remove support.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Remove obsolete Solaris 8 support
2012-03-12 17:45 Remove obsolete Solaris 8 support Rainer Orth
2012-03-12 18:31 ` Ian Lance Taylor
2012-03-12 18:38 ` Mike Stump
@ 2012-03-12 19:36 ` Bruce Korb
2012-03-12 20:14 ` Jonathan Wakely
` (4 subsequent siblings)
7 siblings, 0 replies; 18+ messages in thread
From: Bruce Korb @ 2012-03-12 19:36 UTC (permalink / raw)
To: Rainer Orth; +Cc: gcc-patches
On 03/12/12 10:44, Rainer Orth wrote:
> fixincludes:
> * inclhack.def (math_exception): Remove duplicate.
> (solaris_cond_init): Remove.
> (solaris_sys_va_list): Remove Solaris 8 support.
I think I probably hate those COND initializers more than any other
thing that gets patched up. Glad to see it go!! Thanks.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Remove obsolete Solaris 8 support
2012-03-12 17:45 Remove obsolete Solaris 8 support Rainer Orth
` (2 preceding siblings ...)
2012-03-12 19:36 ` Bruce Korb
@ 2012-03-12 20:14 ` Jonathan Wakely
2012-03-12 20:43 ` Tom Tromey
` (3 subsequent siblings)
7 siblings, 0 replies; 18+ messages in thread
From: Jonathan Wakely @ 2012-03-12 20:14 UTC (permalink / raw)
To: Rainer Orth
Cc: gcc-patches, libstdc++, java-patches, Eric Botcazou, Ian Lance Taylor
On 12 March 2012 17:44, Rainer Orth wrote:
> Since even extended support for Solaris 8 ends by March 31st, this patch
> removes Solaris 8 support from mainline. Given that extended support
> for Solaris 9 lasts until October 2014, I guess that will remain in GCC
> for at least one major release.
The libstdc++ parts of the patch are OK.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Remove obsolete Solaris 8 support
2012-03-12 17:45 Remove obsolete Solaris 8 support Rainer Orth
` (3 preceding siblings ...)
2012-03-12 20:14 ` Jonathan Wakely
@ 2012-03-12 20:43 ` Tom Tromey
2012-03-12 20:43 ` Tom Tromey
` (2 subsequent siblings)
7 siblings, 0 replies; 18+ messages in thread
From: Tom Tromey @ 2012-03-12 20:43 UTC (permalink / raw)
To: Rainer Orth
Cc: gcc-patches, libstdc++, java-patches, Eric Botcazou, Ian Lance Taylor
>>>>> "Rainer" == Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:
Rainer> libjava:
Rainer> * configure.ac (THREADLIBS): Remove *-*-solaris2.8 handling.
Rainer> * configure: Regenerate.
This part is ok. Thanks.
Tom
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Remove obsolete Solaris 8 support
2012-03-12 17:45 Remove obsolete Solaris 8 support Rainer Orth
` (4 preceding siblings ...)
2012-03-12 20:43 ` Tom Tromey
@ 2012-03-12 20:43 ` Tom Tromey
2012-03-12 22:19 ` Eric Botcazou
2012-06-30 10:02 ` Thomas Schwinge
7 siblings, 0 replies; 18+ messages in thread
From: Tom Tromey @ 2012-03-12 20:43 UTC (permalink / raw)
To: Rainer Orth
Cc: gcc-patches, libstdc++, java-patches, Eric Botcazou, Ian Lance Taylor
>>>>> "Rainer" == Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:
Rainer> libcpp:
Rainer> * lex.c: Remove Solaris 8 reference.
Also ok.
Tom
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Remove obsolete Solaris 8 support
2012-03-12 17:45 Remove obsolete Solaris 8 support Rainer Orth
` (5 preceding siblings ...)
2012-03-12 20:43 ` Tom Tromey
@ 2012-03-12 22:19 ` Eric Botcazou
2012-03-15 14:41 ` Rainer Orth
2012-06-30 10:02 ` Thomas Schwinge
7 siblings, 1 reply; 18+ messages in thread
From: Eric Botcazou @ 2012-03-12 22:19 UTC (permalink / raw)
To: Rainer Orth; +Cc: gcc-patches, libstdc++, java-patches, Ian Lance Taylor
> * Although libgcc/config/sparc/sol2-unwind.h could be simplified quite a
> bit, perhaps we could go further: I wonder if the remaining nframes = 2
> case really applies to Solaris 9. If not, one could massivly simplify
> this code.
Please no, let's keep being very conservative with this stuff.
--
Eric Botcazou
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Remove obsolete Solaris 8 support
2012-03-12 18:31 ` Ian Lance Taylor
@ 2012-03-15 14:34 ` Rainer Orth
0 siblings, 0 replies; 18+ messages in thread
From: Rainer Orth @ 2012-03-15 14:34 UTC (permalink / raw)
To: Ian Lance Taylor; +Cc: gcc-patches
[-- Attachment #1: Type: text/plain, Size: 492 bytes --]
Ian Lance Taylor <iant@google.com> writes:
> Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:
>
>> libgo:
>> * configure.ac (OSCFLAGS): Remove *-*-solaris2.8 handling.
>> (libgo_cv_lib_makecontext_stack_top): Remove
>> sparc*-*-solaris2.8* handling.
>> * configure: Regenerate.
>
> As with the Irix 5 changes, just send the libgo patches to me rather
> than committing them directly to the repository. Thanks.
Here it is, with the same caveat as for the IRIX 6.5 removal.
Rainer
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: sol8-removal-libgo.patch --]
[-- Type: text/x-patch, Size: 862 bytes --]
diff --git a/libgo/configure.ac b/libgo/configure.ac
--- a/libgo/configure.ac
+++ b/libgo/configure.ac
@@ -282,8 +282,8 @@ AC_SUBST(GO_SYSCALL_OS_ARCH_FILE)
dnl Special flags used to generate sysinfo.go.
OSCFLAGS="-D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
case "$target" in
- *-*-solaris2.[[89]])
- # Solaris 8/9 need this so struct msghdr gets the msg_control
+ *-*-solaris2.9)
+ # Solaris 9 needs 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__"
;;
@@ -623,7 +623,7 @@ 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]]*)
+ sparc*-*-solaris2.9*)
libgo_cv_lib_makecontext_stack_top=yes
;;
*)
[-- Attachment #3: Type: text/plain, Size: 144 bytes --]
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Remove obsolete Solaris 8 support
2012-03-12 22:19 ` Eric Botcazou
@ 2012-03-15 14:41 ` Rainer Orth
2012-03-15 14:53 ` Eric Botcazou
0 siblings, 1 reply; 18+ messages in thread
From: Rainer Orth @ 2012-03-15 14:41 UTC (permalink / raw)
To: Eric Botcazou; +Cc: gcc-patches, libstdc++, java-patches, Ian Lance Taylor
Eric Botcazou <ebotcazou@adacore.com> writes:
>> * Although libgcc/config/sparc/sol2-unwind.h could be simplified quite a
>> bit, perhaps we could go further: I wonder if the remaining nframes = 2
>> case really applies to Solaris 9. If not, one could massivly simplify
>> this code.
>
> Please no, let's keep being very conservative with this stuff.
If we are, we'll never learn if this code is needed on anything beyond
Solaris 8 and keep this cruft around basically forever. I'll at least
try a bootstrap with the nframes = 2 code ripped out with Solaris 9 FCS
libc and libthread (and of course the whole rest: latest Solaris 9, 10
and 11) and see if anything breaks.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Remove obsolete Solaris 8 support
2012-03-15 14:41 ` Rainer Orth
@ 2012-03-15 14:53 ` Eric Botcazou
0 siblings, 0 replies; 18+ messages in thread
From: Eric Botcazou @ 2012-03-15 14:53 UTC (permalink / raw)
To: Rainer Orth; +Cc: gcc-patches, libstdc++, java-patches, Ian Lance Taylor
> If we are, we'll never learn if this code is needed on anything beyond
> Solaris 8 and keep this cruft around basically forever.
So what? This file is a big kludge and there is no value whatsoever in it
being elegant or particularly readable or even efficient.
> I'll at least try a bootstrap with the nframes = 2 code ripped out with
> Solaris 9 FCS libc and libthread (and of course the whole rest: latest
> Solaris 9, 10 and 11) and see if anything breaks.
To make things clear upfront: I'll oppose any change that removes something.
--
Eric Botcazou
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Remove obsolete Solaris 8 support
2012-03-12 17:45 Remove obsolete Solaris 8 support Rainer Orth
` (6 preceding siblings ...)
2012-03-12 22:19 ` Eric Botcazou
@ 2012-06-30 10:02 ` Thomas Schwinge
2012-11-04 23:33 ` Thomas Schwinge
7 siblings, 1 reply; 18+ messages in thread
From: Thomas Schwinge @ 2012-06-30 10:02 UTC (permalink / raw)
To: Rainer Orth; +Cc: gcc-patches
[-- Attachment #1: Type: text/plain, Size: 5346 bytes --]
Hi!
On Mon, 12 Mar 2012 18:44:24 +0100, Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> wrote:
> 2012-03-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
> gcc:
> * config.gcc (enable_obsolete): Remove *-*-solaris2.8*.
> (*-*-solaris2.[0-8], *-*-solaris2.[0-8].*): Mark unsupported.
> (i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*): Remove
> Solaris 8 support.
> * configure.ac (gcc_cv_ld_hidden): Remove *-*-solaris2.8*.
> (ld_tls_support): Remove Solaris 8 references.
> (lwp_dir, lwp_spec): Remove support for alternate thread library.
> * acinclude.m4 (gcc_cv_initfini_array): Remove *-*-solaris2.*
> tests.
> * configure: Regenerate.
> * config.in: Regenerate.
> --- a/gcc/acinclude.m4
> +++ b/gcc/acinclude.m4
> @@ -461,23 +461,7 @@ changequote([,])dnl
> # error The C library not known to support .init_array/.fini_array
> # endif
> #endif
> -])],[
> - case "${target}" in
> - *-*-solaris2.8*)
> - # .init_array/.fini_array support was introduced in Solaris 8
> - # patches 109147-08 (sparc) and 109148-08 (x86). Since ld.so.1 and
> - # ld are guaranteed to be updated in lockstep, we can check ld -V
> - # instead. Unfortunately, proper ld version numbers were only
> - # introduced in rev. -14, so we check for that.
> - if test "$gcc_cv_sun_ld_vers_minor" -lt 272; then
> - gcc_cv_initfini_array=no
> - fi
> - ;;
> - *-*-solaris2.9* | *-*-solaris2.1[[0-9]]*)
> - # .init_array/.fini_array support is present since Solaris 9 FCS.
> - ;;
> - esac
> -], [gcc_cv_initfini_array=no]);;
> +])],, [gcc_cv_initfini_array=no]);;
> esac
> else
> AC_MSG_CHECKING(cross compile... guessing)
It seems to me that gcc_cv_sun_ld_ver* isn't used anywhere anymore, so
what about applying the following cleanup (completely untested):
gcc/
* acinclude.m4 (gcc_AC_INITFINI_ARRAY): Don't require
gcc_SUN_LD_VERSION.
(gcc_SUN_LD_VERSION): Remove, preserving some comments...
* configure.ac: ... here.
diff --git a/gcc/acinclude.m4 b/gcc/acinclude.m4
index c24464b..6410f2c 100644
--- a/gcc/acinclude.m4
+++ b/gcc/acinclude.m4
@@ -278,8 +278,7 @@ fi
fi])
AC_DEFUN([gcc_AC_INITFINI_ARRAY],
-[AC_REQUIRE([gcc_SUN_LD_VERSION])dnl
-AC_ARG_ENABLE(initfini-array,
+[AC_ARG_ENABLE(initfini-array,
[ --enable-initfini-array use .init_array/.fini_array sections],
[], [
AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
@@ -488,43 +487,6 @@ if test $[$2] = yes; then
$7
fi])])
-dnl gcc_SUN_LD_VERSION
-dnl
-dnl Determines Sun linker version numbers, setting gcc_cv_sun_ld_vers to
-dnl the complete version number and gcc_cv_sun_ld_vers_{major, minor} to
-dnl the corresponding fields.
-dnl
-dnl ld and ld.so.1 are guaranteed to be updated in lockstep, so ld version
-dnl numbers can be used in ld.so.1 feature checks even if a different
-dnl linker is configured.
-dnl
-AC_DEFUN([gcc_SUN_LD_VERSION],
-[changequote(,)dnl
-if test "x${build}" = "x${target}" && test "x${build}" = "x${host}"; then
- case "${target}" in
- *-*-solaris2*)
- #
- # Solaris 2 ld -V output looks like this for a regular version:
- #
- # ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1699
- #
- # but test versions add stuff at the end:
- #
- # ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1701:onnv-ab196087-6931056-03/25/10
- #
- gcc_cv_sun_ld_ver=`/usr/ccs/bin/ld -V 2>&1`
- if echo "$gcc_cv_sun_ld_ver" | grep 'Solaris Link Editors' > /dev/null; then
- gcc_cv_sun_ld_vers=`echo $gcc_cv_sun_ld_ver | sed -n \
- -e 's,^.*: 5\.[0-9][0-9]*-\([0-9]\.[0-9][0-9]*\).*$,\1,p'`
- gcc_cv_sun_ld_vers_major=`expr "$gcc_cv_sun_ld_vers" : '\([0-9]*\)'`
- gcc_cv_sun_ld_vers_minor=`expr "$gcc_cv_sun_ld_vers" : '[0-9]*\.\([0-9]*\)'`
- fi
- ;;
- esac
-fi
-changequote([,])dnl
-])
-
dnl GCC_TARGET_TEMPLATE(KEY)
dnl ------------------------
dnl Define KEY as a valid configure key on the target machine.
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 7891fcc..4ea2f9c 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -2290,11 +2290,21 @@ if test $in_tree_ld != yes ; then
else
case "${target}" in
*-*-solaris2*)
- # See acinclude.m4 (gcc_SUN_LD_VERSION) for the version number
- # format.
+ # Determines Sun linker version numbers, setting gcc_cv_sun_ld_vers to
+ # the complete version number and gcc_cv_sun_ld_vers_{major, minor} to
+ # the corresponding fields.
#
- # Don't reuse gcc_gv_sun_ld_vers_* in case a linker other than
- # /usr/ccs/bin/ld has been configured.
+ # ld and ld.so.1 are guaranteed to be updated in lockstep, so ld
+ # version numbers can be used in ld.so.1 feature checks even if a
+ # different linker is configured.
+ #
+ # Solaris 2 ld -V output looks like this for a regular version:
+ #
+ # ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1699
+ #
+ # but test versions add stuff at the end:
+ #
+ # ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1701:onnv-ab196087-6931056-03/25/10
ld_ver=`$gcc_cv_ld -V 2>&1`
if echo "$ld_ver" | grep 'Solaris Link Editors' > /dev/null; then
ld_vers=`echo $ld_ver | sed -n \
Grüße,
Thomas
[-- Attachment #2: Type: application/pgp-signature, Size: 489 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Remove obsolete Solaris 8 support
2012-06-30 10:02 ` Thomas Schwinge
@ 2012-11-04 23:33 ` Thomas Schwinge
0 siblings, 0 replies; 18+ messages in thread
From: Thomas Schwinge @ 2012-11-04 23:33 UTC (permalink / raw)
To: Rainer Orth; +Cc: gcc-patches
[-- Attachment #1: Type: text/plain, Size: 5714 bytes --]
Hi!
Low priority, but still ;-) -- ping.
On Sat, 30 Jun 2012 01:30:42 +0200, I wrote:
> On Mon, 12 Mar 2012 18:44:24 +0100, Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> wrote:
> > 2012-03-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
>
> > gcc:
> > * config.gcc (enable_obsolete): Remove *-*-solaris2.8*.
> > (*-*-solaris2.[0-8], *-*-solaris2.[0-8].*): Mark unsupported.
> > (i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*): Remove
> > Solaris 8 support.
> > * configure.ac (gcc_cv_ld_hidden): Remove *-*-solaris2.8*.
> > (ld_tls_support): Remove Solaris 8 references.
> > (lwp_dir, lwp_spec): Remove support for alternate thread library.
> > * acinclude.m4 (gcc_cv_initfini_array): Remove *-*-solaris2.*
> > tests.
> > * configure: Regenerate.
> > * config.in: Regenerate.
>
> > --- a/gcc/acinclude.m4
> > +++ b/gcc/acinclude.m4
> > @@ -461,23 +461,7 @@ changequote([,])dnl
> > # error The C library not known to support .init_array/.fini_array
> > # endif
> > #endif
> > -])],[
> > - case "${target}" in
> > - *-*-solaris2.8*)
> > - # .init_array/.fini_array support was introduced in Solaris 8
> > - # patches 109147-08 (sparc) and 109148-08 (x86). Since ld.so.1 and
> > - # ld are guaranteed to be updated in lockstep, we can check ld -V
> > - # instead. Unfortunately, proper ld version numbers were only
> > - # introduced in rev. -14, so we check for that.
> > - if test "$gcc_cv_sun_ld_vers_minor" -lt 272; then
> > - gcc_cv_initfini_array=no
> > - fi
> > - ;;
> > - *-*-solaris2.9* | *-*-solaris2.1[[0-9]]*)
> > - # .init_array/.fini_array support is present since Solaris 9 FCS.
> > - ;;
> > - esac
> > -], [gcc_cv_initfini_array=no]);;
> > +])],, [gcc_cv_initfini_array=no]);;
> > esac
> > else
> > AC_MSG_CHECKING(cross compile... guessing)
>
> It seems to me that gcc_cv_sun_ld_ver* isn't used anywhere anymore, so
> what about applying the following cleanup (completely untested):
>
> gcc/
> * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Don't require
> gcc_SUN_LD_VERSION.
> (gcc_SUN_LD_VERSION): Remove, preserving some comments...
> * configure.ac: ... here.
>
> diff --git a/gcc/acinclude.m4 b/gcc/acinclude.m4
> index c24464b..6410f2c 100644
> --- a/gcc/acinclude.m4
> +++ b/gcc/acinclude.m4
> @@ -278,8 +278,7 @@ fi
> fi])
>
> AC_DEFUN([gcc_AC_INITFINI_ARRAY],
> -[AC_REQUIRE([gcc_SUN_LD_VERSION])dnl
> -AC_ARG_ENABLE(initfini-array,
> +[AC_ARG_ENABLE(initfini-array,
> [ --enable-initfini-array use .init_array/.fini_array sections],
> [], [
> AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
> @@ -488,43 +487,6 @@ if test $[$2] = yes; then
> $7
> fi])])
>
> -dnl gcc_SUN_LD_VERSION
> -dnl
> -dnl Determines Sun linker version numbers, setting gcc_cv_sun_ld_vers to
> -dnl the complete version number and gcc_cv_sun_ld_vers_{major, minor} to
> -dnl the corresponding fields.
> -dnl
> -dnl ld and ld.so.1 are guaranteed to be updated in lockstep, so ld version
> -dnl numbers can be used in ld.so.1 feature checks even if a different
> -dnl linker is configured.
> -dnl
> -AC_DEFUN([gcc_SUN_LD_VERSION],
> -[changequote(,)dnl
> -if test "x${build}" = "x${target}" && test "x${build}" = "x${host}"; then
> - case "${target}" in
> - *-*-solaris2*)
> - #
> - # Solaris 2 ld -V output looks like this for a regular version:
> - #
> - # ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1699
> - #
> - # but test versions add stuff at the end:
> - #
> - # ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1701:onnv-ab196087-6931056-03/25/10
> - #
> - gcc_cv_sun_ld_ver=`/usr/ccs/bin/ld -V 2>&1`
> - if echo "$gcc_cv_sun_ld_ver" | grep 'Solaris Link Editors' > /dev/null; then
> - gcc_cv_sun_ld_vers=`echo $gcc_cv_sun_ld_ver | sed -n \
> - -e 's,^.*: 5\.[0-9][0-9]*-\([0-9]\.[0-9][0-9]*\).*$,\1,p'`
> - gcc_cv_sun_ld_vers_major=`expr "$gcc_cv_sun_ld_vers" : '\([0-9]*\)'`
> - gcc_cv_sun_ld_vers_minor=`expr "$gcc_cv_sun_ld_vers" : '[0-9]*\.\([0-9]*\)'`
> - fi
> - ;;
> - esac
> -fi
> -changequote([,])dnl
> -])
> -
> dnl GCC_TARGET_TEMPLATE(KEY)
> dnl ------------------------
> dnl Define KEY as a valid configure key on the target machine.
> diff --git a/gcc/configure.ac b/gcc/configure.ac
> index 7891fcc..4ea2f9c 100644
> --- a/gcc/configure.ac
> +++ b/gcc/configure.ac
> @@ -2290,11 +2290,21 @@ if test $in_tree_ld != yes ; then
> else
> case "${target}" in
> *-*-solaris2*)
> - # See acinclude.m4 (gcc_SUN_LD_VERSION) for the version number
> - # format.
> + # Determines Sun linker version numbers, setting gcc_cv_sun_ld_vers to
> + # the complete version number and gcc_cv_sun_ld_vers_{major, minor} to
> + # the corresponding fields.
> #
> - # Don't reuse gcc_gv_sun_ld_vers_* in case a linker other than
> - # /usr/ccs/bin/ld has been configured.
> + # ld and ld.so.1 are guaranteed to be updated in lockstep, so ld
> + # version numbers can be used in ld.so.1 feature checks even if a
> + # different linker is configured.
> + #
> + # Solaris 2 ld -V output looks like this for a regular version:
> + #
> + # ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1699
> + #
> + # but test versions add stuff at the end:
> + #
> + # ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1701:onnv-ab196087-6931056-03/25/10
> ld_ver=`$gcc_cv_ld -V 2>&1`
> if echo "$ld_ver" | grep 'Solaris Link Editors' > /dev/null; then
> ld_vers=`echo $ld_ver | sed -n \
Grüße,
Thomas
[-- Attachment #2: Type: application/pgp-signature, Size: 489 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2012-11-04 23:33 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-12 17:45 Remove obsolete Solaris 8 support Rainer Orth
2012-03-12 18:31 ` Ian Lance Taylor
2012-03-15 14:34 ` Rainer Orth
2012-03-12 18:38 ` Mike Stump
2012-03-12 18:49 ` Richard Kenner
2012-03-12 18:56 ` Rainer Orth
2012-03-12 18:49 ` Rainer Orth
2012-03-12 18:59 ` Mike Stump
2012-03-12 18:58 ` Steven Bosscher
2012-03-12 19:36 ` Bruce Korb
2012-03-12 20:14 ` Jonathan Wakely
2012-03-12 20:43 ` Tom Tromey
2012-03-12 20:43 ` Tom Tromey
2012-03-12 22:19 ` Eric Botcazou
2012-03-15 14:41 ` Rainer Orth
2012-03-15 14:53 ` Eric Botcazou
2012-06-30 10:02 ` Thomas Schwinge
2012-11-04 23:33 ` Thomas Schwinge
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).