Remove obsolete Solaris 8 support

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.

	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.

From-SVN: r185392
This commit is contained in:
Rainer Orth 2012-03-14 17:08:03 +00:00 committed by Rainer Orth
parent 9fc4233a7f
commit 7888f2660e
52 changed files with 245 additions and 732 deletions

View File

@ -1,3 +1,11 @@
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* 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.
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* inclhack.def (broken_cabs): Remove IRIX and SunOS 4 support.

View File

@ -2,11 +2,11 @@
*
* DO NOT EDIT THIS FILE (fixincl.x)
*
* It has been AutoGen-ed Wednesday March 14, 2012 at 02:41:19 PM MET
* It has been AutoGen-ed Wednesday March 14, 2012 at 03:19:50 PM MET
* From the definitions inclhack.def
* and the template file fixincl
*/
/* DO NOT SVN-MERGE THIS FILE, EITHER Wed Mar 14 14:41:19 MET 2012
/* DO NOT SVN-MERGE THIS FILE, EITHER Wed Mar 14 15:19:50 MET 2012
*
* You must regenerate it. Use the ./genfixes script.
*
@ -15,7 +15,7 @@
* certain ANSI-incompatible system header files which are fixed to work
* correctly with ANSI C and placed in a directory that GNU C will search.
*
* This file contains 212 fixup descriptions.
* This file contains 211 fixup descriptions.
*
* See README for more information.
*
@ -5718,44 +5718,6 @@ extern \"C\" {\\\n\
#endif",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Solaris_Cond_Init fix
*/
tSCC zSolaris_Cond_InitName[] =
"solaris_cond_init";
/*
* File name selection pattern
*/
tSCC zSolaris_Cond_InitList[] =
"pthread.h\0";
/*
* Machine/OS name selection pattern
*/
tSCC* apzSolaris_Cond_InitMachs[] = {
"*-*-solaris2.8",
(const char*)NULL };
/*
* content selection pattern - do fix if pattern found
*/
tSCC zSolaris_Cond_InitSelect0[] =
"@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
#define SOLARIS_COND_INIT_TEST_CT 1
static tTestDesc aSolaris_Cond_InitTests[] = {
{ TT_EGREP, zSolaris_Cond_InitSelect0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Solaris_Cond_Init
*/
static const char* apzSolaris_Cond_InitPatch[] = {
"format",
"%1, 0x4356%2",
"^(#define[ \t]+PTHREAD_COND_INITIALIZER[ \t]+\\{.*0)(\\},[ \t]*0\\}.*)$",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Solaris_Cxx_Linkage fix
@ -6725,7 +6687,7 @@ tSCC zSolaris_Sys_Va_ListList[] =
* Machine/OS name selection pattern
*/
tSCC* apzSolaris_Sys_Va_ListMachs[] = {
"*-*-solaris2.[89]",
"*-*-solaris2.9",
(const char*)NULL };
/*
@ -8630,9 +8592,9 @@ static const char* apzX11_SprintfPatch[] = {
*
* List of all fixes
*/
#define REGEX_COUNT 255
#define REGEX_COUNT 254
#define MACH_LIST_SIZE_LIMIT 181
#define FIX_COUNT 212
#define FIX_COUNT 211
/*
* Enumerate the fixes
@ -8778,7 +8740,6 @@ typedef enum {
SOLARIS___RESTRICT_FIXIDX,
SOLARIS_COMPLEX_FIXIDX,
SOLARIS_COMPLEX_CXX_FIXIDX,
SOLARIS_COND_INIT_FIXIDX,
SOLARIS_CXX_LINKAGE_FIXIDX,
SOLARIS_GETC_STRICT_STDC_FIXIDX,
SOLARIS_LONGJMP_NORETURN_FIXIDX,
@ -9553,11 +9514,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
SOLARIS_COMPLEX_CXX_TEST_CT, FD_MACH_ONLY,
aSolaris_Complex_CxxTests, apzSolaris_Complex_CxxPatch, 0 },
{ zSolaris_Cond_InitName, zSolaris_Cond_InitList,
apzSolaris_Cond_InitMachs,
SOLARIS_COND_INIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aSolaris_Cond_InitTests, apzSolaris_Cond_InitPatch, 0 },
{ zSolaris_Cxx_LinkageName, zSolaris_Cxx_LinkageList,
apzSolaris_Cxx_LinkageMachs,
SOLARIS_CXX_LINKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,

View File

@ -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.
@ -2925,26 +2925,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.
*/
@ -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"

View File

@ -75,16 +75,6 @@ extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask);
#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)

View File

@ -1,3 +1,26 @@
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* 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.
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config.gcc (enable_obsolete): Remove mips-sgi-irix6.5.

View File

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

View File

@ -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
@ -1321,9 +1320,8 @@ i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
# 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}
;;
*)

View File

@ -1606,12 +1606,6 @@
#endif
/* Define to the linker flags to use for -pthread. */
#ifndef USED_FOR_TARGET
#undef LIB_THREAD_LDFLAGS_SPEC
#endif
/* Define to the library containing __tls_get_addr/___tls_get_addr. */
#ifndef USED_FOR_TARGET
#undef LIB_TLS_SPEC

View File

@ -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. If not see
/* 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. If not see
#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. */

View File

@ -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. If not see
%{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}"

74
gcc/configure vendored
View File

@ -22264,15 +22264,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.
@ -22470,22 +22461,6 @@ EOF
_ACEOF
if ac_fn_c_try_cpp "$LINENO"; then :
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
else
gcc_cv_initfini_array=no
fi
@ -23611,10 +23586,9 @@ if test $gcc_cv_as_tls = yes; then
fi
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.*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking linker and ld.so.1 TLS support" >&5
$as_echo_n "checking linker and ld.so.1 TLS support... " >&6; }
@ -23626,14 +23600,6 @@ $as_echo_n "checking linker and ld.so.1 TLS support... " >&6; }
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
@ -23658,33 +23624,6 @@ $as_echo "$ld_tls_support" >&6; }
LIBS=
LDFLAGS=
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking alternate thread library" >&5
$as_echo_n "checking alternate thread library... " >&6; }
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.
cat >>confdefs.h <<_ACEOF
#define LIB_THREAD_LDFLAGS_SPEC "$lwp_spec"
_ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lwp_dir" >&5
$as_echo "$lwp_dir" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking library containing $tga_func" >&5
$as_echo_n "checking library containing $tga_func... " >&6; }
# Before Solaris 10, __tls_get_addr (SPARC/x64) resp. ___tls_get_addr
@ -23754,13 +23693,6 @@ fi
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.
cat >>confdefs.h <<_ACEOF

View File

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

View File

@ -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/sig11/,,www.bitwizard.nl}.
@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 only.
@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 types are missing. These headers
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 testsuite driver. When the bug
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

View File

@ -1,3 +1,18 @@
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* 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.
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* g++.dg/other/anon5.C: Don't skip on mips-sgi-irix*.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -569,11 +569,11 @@ proc check_effective_target_pcc_bitfield_type_matters { } {
# 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; }

View File

@ -1,3 +1,7 @@
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* lex.c: Remove Solaris 8 reference.
2012-02-14 Walter Lee <walt@tilera.com>
* configure.ac: Require 64-bit hwint for tilegx and tilepro.

View File

@ -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, const uchar *end ATTRIBUTE_UNUSED)
/* 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

View File

@ -1,3 +1,11 @@
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* 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.
2012-03-13 H.J. Lu <hongjiu.lu@intel.com>
* unwind-dw2.c (_Unwind_SetGRValue): Assert DWARF register size

View File

@ -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_Context *context,
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
---------------------------------------

View File

@ -36,44 +36,25 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
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, void *cfa, int *nframes)
}
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, void *cfa, int *nframes)
*/
*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 _Unwind_Context *context,
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, void *cfa, int *nframes)
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, void *cfa, int *nframes)
}
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, void *cfa, int *nframes)
*/
*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;
}

View File

@ -1,3 +1,8 @@
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac (THREADLIBS): Remove *-*-solaris2.8 handling.
* configure: Regenerate.
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac (libgcj_cv_exidx): Remove IRIX 6 ld workaround.

10
libjava/configure vendored
View File

@ -20740,16 +20740,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'
;;

View File

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

View File

@ -1,3 +1,43 @@
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* 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.
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.host (irix6.5*): Remove.

View File

@ -1714,100 +1714,6 @@ AC_DEFUN([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS], [
[Define to the value of the SEEK_END integer constant.])
])
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
@ -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

View File

@ -848,21 +848,6 @@
/* Define to 1 if mutex_timedlock is available. */
#undef _GTHREAD_USE_MUTEX_TIMEDLOCK
/* Define if all C++ overloads are available in <math.h>. */
#if __cplusplus >= 199711L
#undef __CORRECT_ISO_CPP_MATH_H_PROTO1
#endif
/* Define if only double std::abs(double) is available in <math.h>. */
#if __cplusplus >= 199711L
#undef __CORRECT_ISO_CPP_MATH_H_PROTO2
#endif
/* Define if all C++ overloads are available in <stdlib.h>. */
#if __cplusplus >= 199711L
#undef __CORRECT_ISO_CPP_STDLIB_H_PROTO
#endif
#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF)
# define HAVE_ACOSF 1
# define acosf _acosf

View File

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

127
libstdc++-v3/configure vendored
View File

@ -17295,127 +17295,6 @@ $as_echo "$enable_werror" >&6; }
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
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.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for float std::abs(float) overload" >&5
$as_echo_n "checking for float std::abs(float) overload... " >&6; }
if test "${glibcxx_cv_abs_float+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <math.h>
namespace std {
inline float abs(float __x)
{ return __builtin_fabsf(__x); }
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
glibcxx_cv_abs_float=no
else
glibcxx_cv_abs_float=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
# autoheader cannot handle indented templates.
if test $glibcxx_cv_abs_float = yes; then
$as_echo "#define __CORRECT_ISO_CPP_MATH_H_PROTO1 1" >>confdefs.h
else
$as_echo "#define __CORRECT_ISO_CPP_MATH_H_PROTO2 1" >>confdefs.h
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_abs_float" >&5
$as_echo "$glibcxx_cv_abs_float" >&6; }
;;
esac
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
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.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for long std::abs(long) overload" >&5
$as_echo_n "checking for long std::abs(long) overload... " >&6; }
if test "${glibcxx_cv_abs_long+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
namespace std {
inline long
abs(long __i) { return labs(__i); }
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
glibcxx_cv_abs_long=no
else
glibcxx_cv_abs_long=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
# autoheader cannot handle indented templates.
if test $glibcxx_cv_abs_long = yes; then
$as_echo "#define __CORRECT_ISO_CPP_STDLIB_H_PROTO 1" >>confdefs.h
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_abs_long" >&5
$as_echo "$glibcxx_cv_abs_long" >&6; }
;;
esac
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@ -63713,7 +63592,7 @@ done
;;
*-solaris*)
case "$target" in
*-solaris2.8 | *-solaris2.9 | *-solaris2.10)
*-solaris2.9 | *-solaris2.10)
# If we're not using GNU ld, then there's no point in even trying these
# tests. Check for that first. We should have already tested for gld
@ -65622,9 +65501,9 @@ main ()
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
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

View File

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

View File

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

View File

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

View File

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

View File

@ -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(default)
{
_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); }

View File

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

View File

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

View File

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

View File

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