mirror of git://gcc.gnu.org/git/gcc.git
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:
parent
9fc4233a7f
commit
7888f2660e
|
@ -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>
|
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||||
|
|
||||||
* inclhack.def (broken_cabs): Remove IRIX and SunOS 4 support.
|
* inclhack.def (broken_cabs): Remove IRIX and SunOS 4 support.
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
*
|
*
|
||||||
* DO NOT EDIT THIS FILE (fixincl.x)
|
* 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
|
* From the definitions inclhack.def
|
||||||
* and the template file fixincl
|
* 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.
|
* You must regenerate it. Use the ./genfixes script.
|
||||||
*
|
*
|
||||||
|
@ -15,7 +15,7 @@
|
||||||
* certain ANSI-incompatible system header files which are fixed to work
|
* 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.
|
* 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.
|
* See README for more information.
|
||||||
*
|
*
|
||||||
|
@ -5718,44 +5718,6 @@ extern \"C\" {\\\n\
|
||||||
#endif",
|
#endif",
|
||||||
(char*)NULL };
|
(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
|
* Description of Solaris_Cxx_Linkage fix
|
||||||
|
@ -6725,7 +6687,7 @@ tSCC zSolaris_Sys_Va_ListList[] =
|
||||||
* Machine/OS name selection pattern
|
* Machine/OS name selection pattern
|
||||||
*/
|
*/
|
||||||
tSCC* apzSolaris_Sys_Va_ListMachs[] = {
|
tSCC* apzSolaris_Sys_Va_ListMachs[] = {
|
||||||
"*-*-solaris2.[89]",
|
"*-*-solaris2.9",
|
||||||
(const char*)NULL };
|
(const char*)NULL };
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -8630,9 +8592,9 @@ static const char* apzX11_SprintfPatch[] = {
|
||||||
*
|
*
|
||||||
* List of all fixes
|
* List of all fixes
|
||||||
*/
|
*/
|
||||||
#define REGEX_COUNT 255
|
#define REGEX_COUNT 254
|
||||||
#define MACH_LIST_SIZE_LIMIT 181
|
#define MACH_LIST_SIZE_LIMIT 181
|
||||||
#define FIX_COUNT 212
|
#define FIX_COUNT 211
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Enumerate the fixes
|
* Enumerate the fixes
|
||||||
|
@ -8778,7 +8740,6 @@ typedef enum {
|
||||||
SOLARIS___RESTRICT_FIXIDX,
|
SOLARIS___RESTRICT_FIXIDX,
|
||||||
SOLARIS_COMPLEX_FIXIDX,
|
SOLARIS_COMPLEX_FIXIDX,
|
||||||
SOLARIS_COMPLEX_CXX_FIXIDX,
|
SOLARIS_COMPLEX_CXX_FIXIDX,
|
||||||
SOLARIS_COND_INIT_FIXIDX,
|
|
||||||
SOLARIS_CXX_LINKAGE_FIXIDX,
|
SOLARIS_CXX_LINKAGE_FIXIDX,
|
||||||
SOLARIS_GETC_STRICT_STDC_FIXIDX,
|
SOLARIS_GETC_STRICT_STDC_FIXIDX,
|
||||||
SOLARIS_LONGJMP_NORETURN_FIXIDX,
|
SOLARIS_LONGJMP_NORETURN_FIXIDX,
|
||||||
|
@ -9553,11 +9514,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
|
||||||
SOLARIS_COMPLEX_CXX_TEST_CT, FD_MACH_ONLY,
|
SOLARIS_COMPLEX_CXX_TEST_CT, FD_MACH_ONLY,
|
||||||
aSolaris_Complex_CxxTests, apzSolaris_Complex_CxxPatch, 0 },
|
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,
|
{ zSolaris_Cxx_LinkageName, zSolaris_Cxx_LinkageList,
|
||||||
apzSolaris_Cxx_LinkageMachs,
|
apzSolaris_Cxx_LinkageMachs,
|
||||||
SOLARIS_CXX_LINKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
SOLARIS_CXX_LINKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
||||||
|
|
|
@ -2382,7 +2382,7 @@ fix = {
|
||||||
files = math.h;
|
files = math.h;
|
||||||
select = "struct exception";
|
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
|
* 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
|
* exception either. So currently we bypass only for glibc, based on a
|
||||||
* comment in the fixed glibc header. Ick.
|
* 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.
|
* 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.
|
* __builtin_va_list to make -Wmissing-format-attribute work.
|
||||||
*/
|
*/
|
||||||
fix = {
|
fix = {
|
||||||
hackname = solaris_sys_va_list;
|
hackname = solaris_sys_va_list;
|
||||||
files = sys/va_list.h;
|
files = sys/va_list.h;
|
||||||
mach = '*-*-solaris2.[89]';
|
mach = '*-*-solaris2.9';
|
||||||
select = "#if.*__STDC__.*\n"
|
select = "#if.*__STDC__.*\n"
|
||||||
"typedef void \\*__va_list;\n"
|
"typedef void \\*__va_list;\n"
|
||||||
"#else\n"
|
"#else\n"
|
||||||
|
|
|
@ -75,16 +75,6 @@ extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask);
|
||||||
#endif /* PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_CHECK */
|
#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 )
|
#if defined( SOLARIS_MUTEX_INIT_2_CHECK )
|
||||||
#ident "@(#)pthread.h 1.26 98/04/12 SMI"
|
#ident "@(#)pthread.h 1.26 98/04/12 SMI"
|
||||||
#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
|
#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
|
||||||
|
|
|
@ -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>
|
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||||
|
|
||||||
* config.gcc (enable_obsolete): Remove mips-sgi-irix6.5.
|
* config.gcc (enable_obsolete): Remove mips-sgi-irix6.5.
|
||||||
|
|
|
@ -461,23 +461,7 @@ changequote([,])dnl
|
||||||
# error The C library not known to support .init_array/.fini_array
|
# error The C library not known to support .init_array/.fini_array
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
])],[
|
])],, [gcc_cv_initfini_array=no]);;
|
||||||
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]);;
|
|
||||||
esac
|
esac
|
||||||
else
|
else
|
||||||
AC_MSG_CHECKING(cross compile... guessing)
|
AC_MSG_CHECKING(cross compile... guessing)
|
||||||
|
|
|
@ -251,7 +251,6 @@ case ${target} in
|
||||||
| arm*-*-uclinux* \
|
| arm*-*-uclinux* \
|
||||||
| arm*-wince-pe* \
|
| arm*-wince-pe* \
|
||||||
| score-* \
|
| score-* \
|
||||||
| *-*-solaris2.8* \
|
|
||||||
)
|
)
|
||||||
if test "x$enable_obsolete" != xyes; then
|
if test "x$enable_obsolete" != xyes; then
|
||||||
echo "*** Configuration ${target} is obsolete." >&2
|
echo "*** Configuration ${target} is obsolete." >&2
|
||||||
|
@ -282,9 +281,9 @@ case ${target} in
|
||||||
| *-*-rtemsaout* \
|
| *-*-rtemsaout* \
|
||||||
| *-*-rtemscoff* \
|
| *-*-rtemscoff* \
|
||||||
| *-*-solaris2 \
|
| *-*-solaris2 \
|
||||||
| *-*-solaris2.[0-7] \
|
| *-*-solaris2.[0-8] \
|
||||||
| *-*-solaris2.[0-7].* \
|
| *-*-solaris2.[0-8].* \
|
||||||
| *-*-sysv* \
|
| *-*-sysv* \
|
||||||
| vax-*-vms* \
|
| vax-*-vms* \
|
||||||
)
|
)
|
||||||
echo "*** Configuration ${target} not supported" 1>&2
|
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
|
# Set default arch_32 to pentium4, tune_32 to generic like the other
|
||||||
# i386 targets, although config.guess defaults to i386-pc-solaris2*.
|
# i386 targets, although config.guess defaults to i386-pc-solaris2*.
|
||||||
case ${target} in
|
case ${target} in
|
||||||
*-*-solaris2.[89]*)
|
*-*-solaris2.9*)
|
||||||
# Solaris 8 and 9/x86 cannot execute SSE/SSE2 instructions by
|
# Solaris 9/x86 cannot execute SSE/SSE2 instructions by default.
|
||||||
# default.
|
|
||||||
with_arch_32=${with_arch_32:-pentiumpro}
|
with_arch_32=${with_arch_32:-pentiumpro}
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
|
|
@ -1606,12 +1606,6 @@
|
||||||
#endif
|
#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. */
|
/* Define to the library containing __tls_get_addr/___tls_get_addr. */
|
||||||
#ifndef USED_FOR_TARGET
|
#ifndef USED_FOR_TARGET
|
||||||
#undef LIB_TLS_SPEC
|
#undef LIB_TLS_SPEC
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* Target definitions for GCC for Intel 80386 running Solaris 2
|
/* Target definitions for GCC for Intel 80386 running Solaris 2
|
||||||
Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
|
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).
|
Contributed by Fred Fish (fnf@cygnus.com).
|
||||||
|
|
||||||
This file is part of GCC.
|
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
|
/* Augment i386/unix.h version to return 8-byte vectors in memory, matching
|
||||||
Sun Studio compilers until version 12, the only ones supported on
|
Sun Studio compilers until version 12, the only ones supported on
|
||||||
Solaris 8 and 9. */
|
Solaris 9. */
|
||||||
#undef TARGET_SUBTARGET_DEFAULT
|
#undef TARGET_SUBTARGET_DEFAULT
|
||||||
#define TARGET_SUBTARGET_DEFAULT \
|
#define TARGET_SUBTARGET_DEFAULT \
|
||||||
(MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_VECT8_RETURNS)
|
(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 ""
|
#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:
|
-K PIC, it gives many warnings:
|
||||||
R_386_32 relocation is used for symbol "<symbol>"
|
R_386_32 relocation is used for symbol "<symbol>"
|
||||||
GNU as doesn't recognize -K at all. */
|
GNU as doesn't recognize -K at all. */
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* Operating system specific defines to be used when targeting GCC for any
|
/* Operating system specific defines to be used when targeting GCC for any
|
||||||
Solaris 2 system.
|
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.
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GCC.
|
This file is part of GCC.
|
||||||
|
@ -173,7 +173,6 @@ along with GCC; see the file COPYING3. If not see
|
||||||
%{static:-dn -Bstatic} \
|
%{static:-dn -Bstatic} \
|
||||||
%{shared:-G -dy %{!mimpure-text:-z text}} \
|
%{shared:-G -dy %{!mimpure-text:-z text}} \
|
||||||
%{symbolic:-Bsymbolic -G -dy -z text} \
|
%{symbolic:-Bsymbolic -G -dy -z text} \
|
||||||
%{pthreads|pthread|fprofile-generate*:" LIB_THREAD_LDFLAGS_SPEC "} \
|
|
||||||
%(link_arch) \
|
%(link_arch) \
|
||||||
%{Qy:} %{!Qn:-Qy}"
|
%{Qy:} %{!Qn:-Qy}"
|
||||||
|
|
||||||
|
|
|
@ -22264,15 +22264,6 @@ else
|
||||||
hppa64*-*-hpux* | ia64*-*-hpux*)
|
hppa64*-*-hpux* | ia64*-*-hpux*)
|
||||||
gcc_cv_ld_hidden=yes
|
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]*)
|
*-*-solaris2.9* | *-*-solaris2.1[0-9]*)
|
||||||
# Support for .hidden in Sun ld appeared in Solaris 9 FCS, but
|
# Support for .hidden in Sun ld appeared in Solaris 9 FCS, but
|
||||||
# .symbolic was only added in Solaris 9 12/02.
|
# .symbolic was only added in Solaris 9 12/02.
|
||||||
|
@ -22470,22 +22461,6 @@ EOF
|
||||||
_ACEOF
|
_ACEOF
|
||||||
if ac_fn_c_try_cpp "$LINENO"; then :
|
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
|
else
|
||||||
gcc_cv_initfini_array=no
|
gcc_cv_initfini_array=no
|
||||||
fi
|
fi
|
||||||
|
@ -23611,10 +23586,9 @@ if test $gcc_cv_as_tls = yes; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
case "$target" in
|
case "$target" in
|
||||||
# TLS was introduced in the Solaris 9 FCS release and backported to
|
# TLS was introduced in the Solaris 9 FCS release. Support for GNU-style
|
||||||
# Solaris 8 patches. Support for GNU-style TLS on x86 was only
|
# TLS on x86 was only introduced in Solaris 9 4/04, replacing the earlier
|
||||||
# introduced in Solaris 9 4/04, replacing the earlier Sun style that Sun
|
# Sun style that Sun ld and GCC don't support any longer.
|
||||||
# ld and GCC don't support any longer.
|
|
||||||
*-*-solaris2.*)
|
*-*-solaris2.*)
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking linker and ld.so.1 TLS support" >&5
|
{ $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; }
|
$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
|
ld_tls_support=yes
|
||||||
else
|
else
|
||||||
case "$target" in
|
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.
|
# Solaris 9/x86 ld has GNU style TLS support since version 1.374.
|
||||||
i?86-*-solaris2.9)
|
i?86-*-solaris2.9)
|
||||||
min_tls_ld_vers_minor=374
|
min_tls_ld_vers_minor=374
|
||||||
|
@ -23658,33 +23624,6 @@ $as_echo "$ld_tls_support" >&6; }
|
||||||
LIBS=
|
LIBS=
|
||||||
LDFLAGS=
|
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 "$as_me:${as_lineno-$LINENO}: checking library containing $tga_func" >&5
|
||||||
$as_echo_n "checking library containing $tga_func... " >&6; }
|
$as_echo_n "checking library containing $tga_func... " >&6; }
|
||||||
# Before Solaris 10, __tls_get_addr (SPARC/x64) resp. ___tls_get_addr
|
# 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
|
if test $set_have_as_tls = no; then
|
||||||
LIBS=
|
LIBS=
|
||||||
fi
|
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.
|
# Always define LIB_TLS_SPEC, even without TLS support.
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
|
|
@ -2345,15 +2345,6 @@ else
|
||||||
hppa64*-*-hpux* | ia64*-*-hpux*)
|
hppa64*-*-hpux* | ia64*-*-hpux*)
|
||||||
gcc_cv_ld_hidden=yes
|
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]*)
|
*-*-solaris2.9* | *-*-solaris2.1[0-9]*)
|
||||||
# Support for .hidden in Sun ld appeared in Solaris 9 FCS, but
|
# Support for .hidden in Sun ld appeared in Solaris 9 FCS, but
|
||||||
# .symbolic was only added in Solaris 9 12/02.
|
# .symbolic was only added in Solaris 9 12/02.
|
||||||
|
@ -3170,10 +3161,9 @@ else
|
||||||
[set_have_as_tls=yes])
|
[set_have_as_tls=yes])
|
||||||
fi
|
fi
|
||||||
case "$target" in
|
case "$target" in
|
||||||
# TLS was introduced in the Solaris 9 FCS release and backported to
|
# TLS was introduced in the Solaris 9 FCS release. Support for GNU-style
|
||||||
# Solaris 8 patches. Support for GNU-style TLS on x86 was only
|
# TLS on x86 was only introduced in Solaris 9 4/04, replacing the earlier
|
||||||
# introduced in Solaris 9 4/04, replacing the earlier Sun style that Sun
|
# Sun style that Sun ld and GCC don't support any longer.
|
||||||
# ld and GCC don't support any longer.
|
|
||||||
*-*-solaris2.*)
|
*-*-solaris2.*)
|
||||||
AC_MSG_CHECKING(linker and ld.so.1 TLS support)
|
AC_MSG_CHECKING(linker and ld.so.1 TLS support)
|
||||||
ld_tls_support=no
|
ld_tls_support=no
|
||||||
|
@ -3184,14 +3174,6 @@ case "$target" in
|
||||||
ld_tls_support=yes
|
ld_tls_support=yes
|
||||||
else
|
else
|
||||||
case "$target" in
|
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.
|
# Solaris 9/x86 ld has GNU style TLS support since version 1.374.
|
||||||
i?86-*-solaris2.9)
|
i?86-*-solaris2.9)
|
||||||
min_tls_ld_vers_minor=374
|
min_tls_ld_vers_minor=374
|
||||||
|
@ -3215,28 +3197,6 @@ case "$target" in
|
||||||
LIBS=
|
LIBS=
|
||||||
LDFLAGS=
|
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)
|
AC_MSG_CHECKING(library containing $tga_func)
|
||||||
# Before Solaris 10, __tls_get_addr (SPARC/x64) resp. ___tls_get_addr
|
# Before Solaris 10, __tls_get_addr (SPARC/x64) resp. ___tls_get_addr
|
||||||
# (32-bit x86) only lived in libthread, so check for that. Keep
|
# (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
|
if test $set_have_as_tls = no; then
|
||||||
LIBS=
|
LIBS=
|
||||||
fi
|
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.
|
# Always define LIB_TLS_SPEC, even without TLS support.
|
||||||
AC_DEFINE_UNQUOTED(LIB_TLS_SPEC, "$LIBS",
|
AC_DEFINE_UNQUOTED(LIB_TLS_SPEC, "$LIBS",
|
||||||
[Define to the library containing __tls_get_addr/___tls_get_addr.])
|
[Define to the library containing __tls_get_addr/___tls_get_addr.])
|
||||||
|
|
|
@ -3014,7 +3014,7 @@ information are.
|
||||||
@item
|
@item
|
||||||
@uref{#ix86-x-linux,,i?86-*-linux*}
|
@uref{#ix86-x-linux,,i?86-*-linux*}
|
||||||
@item
|
@item
|
||||||
@uref{#ix86-x-solaris289,,i?86-*-solaris2.[89]}
|
@uref{#ix86-x-solaris289,,i?86-*-solaris2.9}
|
||||||
@item
|
@item
|
||||||
@uref{#ix86-x-solaris210,,i?86-*-solaris2.10}
|
@uref{#ix86-x-solaris210,,i?86-*-solaris2.10}
|
||||||
@item
|
@item
|
||||||
|
@ -3551,8 +3551,8 @@ found on @uref{http://www.bitwizard.nl/sig11/,,www.bitwizard.nl}.
|
||||||
@html
|
@html
|
||||||
<hr />
|
<hr />
|
||||||
@end html
|
@end html
|
||||||
@heading @anchor{ix86-x-solaris289}i?86-*-solaris2.[89]
|
@heading @anchor{ix86-x-solaris29}i?86-*-solaris2.9
|
||||||
The Sun assembler in Solaris 8 and 9 has several bugs and limitations.
|
The Sun assembler in Solaris 9 has several bugs and limitations.
|
||||||
While GCC works around them, several features are missing, so it is
|
While GCC works around them, several features are missing, so it is
|
||||||
@c FIXME: which ones?
|
@c FIXME: which ones?
|
||||||
recommended to use the GNU assembler instead. There is no bundled
|
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
|
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
|
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
|
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
|
Solaris@tie{}9 Update@tie{}6 and kernel patch 112234-12 or newer. To
|
||||||
corresponding patch for Solaris 8. To avoid this problem,
|
avoid this problem,
|
||||||
@option{-march} defaults to @samp{pentiumpro} on Solaris 8 and 9. If
|
@option{-march} defaults to @samp{pentiumpro} on Solaris 9. If
|
||||||
you have the patch installed, you can configure GCC with an appropriate
|
you have the patch installed, you can configure GCC with an appropriate
|
||||||
@option{--with-arch} option, but need GNU @command{as} for SSE2 support.
|
@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.
|
@c alone is too unspecific and must be avoided.
|
||||||
@heading @anchor{x-x-solaris2}*-*-solaris2*
|
@heading @anchor{x-x-solaris2}*-*-solaris2*
|
||||||
|
|
||||||
Support for Solaris 8 has been obsoleted in GCC 4.7, but can still be
|
Support for Solaris 8 has removed in GCC 4.8. Support for Solaris 7 has
|
||||||
enabled by configuring with @option{--enable-obsolete}. Support will be
|
been removed in GCC 4.6.
|
||||||
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
|
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
|
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
|
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.
|
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
|
Sun bug 4927647 sometimes causes random spurious testsuite failures
|
||||||
related to missing diagnostic output. This bug doesn't affect GCC
|
related to missing diagnostic output. This bug doesn't affect GCC
|
||||||
itself, rather it is a kernel bug triggered by the @command{expect}
|
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
|
causes the @command{expect} program to miss anticipated output, extra
|
||||||
testsuite failures appear.
|
testsuite failures appear.
|
||||||
|
|
||||||
There are patches for Solaris 8 (117350-12 or newer for SPARC,
|
There are patches for Solaris 9 (117171-11 or newer for
|
||||||
117351-12 or newer for Intel) and Solaris 9 (117171-11 or newer for
|
|
||||||
SPARC, 117172-11 or newer for Intel) that address this problem.
|
SPARC, 117172-11 or newer for Intel) that address this problem.
|
||||||
|
|
||||||
Solaris@tie{}8 provides an alternate implementation of the thread
|
Thread-local storage (TLS) is supported in Solaris@tie{}9, but requires
|
||||||
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
|
|
||||||
some patches. The @samp{libthread} patches provide the
|
some patches. The @samp{libthread} patches provide the
|
||||||
@code{__tls_get_addr} (SPARC, 64-bit x86) resp.@ @code{___tls_get_addr}
|
@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
|
(32-bit x86) functions. On Solaris@tie{}9, the necessary support
|
||||||
SPARC, 108994-26 or newer on Intel. On Solaris@tie{}9, the necessary support
|
|
||||||
on SPARC is present since FCS, while 114432-05 or newer is required on
|
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
|
Intel. Additionally, on Solaris@tie{}9/x86, patch 113986-02 or newer is
|
||||||
109148-22 or newer on Intel are required for the Sun @command{ld} and
|
required for the Sun @command{ld} and runtime linker (@command{ld.so.1})
|
||||||
runtime linker (@command{ld.so.1}) support. Again, Solaris@tie{}9/SPARC
|
support, while Solaris@tie{}9/SPARC works since FCS. The linker
|
||||||
works since FCS, while 113986-02 is required on Intel. The linker
|
|
||||||
patches must be installed even if GNU @command{ld} is used. Sun
|
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}
|
relocations, so GNU @command{as} must be used. The @command{configure}
|
||||||
script checks for those prerequisites and automatically enables TLS
|
script checks for those prerequisites and automatically enables TLS
|
||||||
support if they are met. Although those minimal patch versions should
|
support if they are met. Although those minimal patch versions should
|
||||||
|
|
|
@ -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>
|
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||||
|
|
||||||
* g++.dg/other/anon5.C: Don't skip on mips-sgi-irix*.
|
* g++.dg/other/anon5.C: Don't skip on mips-sgi-irix*.
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* { dg-options "-Wmissing-format-attribute" } */
|
/* { dg-options "-Wmissing-format-attribute" } */
|
||||||
/* { dg-options "-Wmissing-format-attribute -Wno-abi" { target arm_eabi } } */
|
/* { dg-options "-Wmissing-format-attribute -Wno-abi" { target arm_eabi } } */
|
||||||
/* VxWorks does not provide vscanf, either in kernel or RTP mode. */
|
/* 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 <stdio.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
@ -23,7 +23,7 @@ bar (const char *fmt, ...)
|
||||||
{
|
{
|
||||||
va_list ap;
|
va_list ap;
|
||||||
va_start (ap, fmt);
|
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);
|
va_end (ap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
with any system <inttypes.h> header. */
|
with any system <inttypes.h> header. */
|
||||||
/* { dg-do compile { target inttypes_types } } */
|
/* { dg-do compile { target inttypes_types } } */
|
||||||
/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
|
/* { 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>
|
#include <inttypes.h>
|
||||||
#ifndef SIGNAL_SUPPRESS
|
#ifndef SIGNAL_SUPPRESS
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* { dg-require-effective-target fpic } */
|
/* { dg-require-effective-target fpic } */
|
||||||
/* { dg-suppress-ld-options {-fPIC} } */
|
/* { dg-suppress-ld-options {-fPIC} } */
|
||||||
/* { dg-require-effective-target tls_runtime } */
|
/* { 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)
|
int foo (int x)
|
||||||
{
|
{
|
||||||
return x;
|
return x;
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
/* { dg-options "-O2 -funsafe-math-optimizations -fno-finite-math-only -DUNSAFE" } */
|
/* { dg-options "-O2 -funsafe-math-optimizations -fno-finite-math-only -DUNSAFE" } */
|
||||||
/* { dg-add-options ieee } */
|
/* { dg-add-options ieee } */
|
||||||
/* { dg-skip-if "No Inf/NaN support" { spu-*-* } } */
|
/* { dg-skip-if "No Inf/NaN support" { spu-*-* } } */
|
||||||
/* { dg-skip-if "Bug in _Q_dtoq" { sparc*-sun-solaris2.8 } } */
|
|
||||||
|
|
||||||
#include "tg-tests.h"
|
#include "tg-tests.h"
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
/* { dg-do link { target *-*-solaris2.* } } */
|
/* { dg-do link { target *-*-solaris2.* } } */
|
||||||
/* { dg-options "-fpic" } */
|
/* { dg-options "-fpic" } */
|
||||||
/* { dg-xfail-if "no .pushsection/.popsection" { i?86-*-solaris2.8 && { ! gas } } } */
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
/* Tests for #pragma init and #pragma fini. */
|
/* Tests for #pragma init and #pragma fini. */
|
||||||
|
|
||||||
/* { dg-do run { target *-*-solaris2.* } } */
|
/* { dg-do run { target *-*-solaris2.* } } */
|
||||||
/* { dg-skip-if "no .pushsection/.popsection" { i?86-*-solaris2.8 && { ! gas } } } */
|
|
||||||
|
|
||||||
extern void abort ();
|
extern void abort ();
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* { dg-do run } */
|
/* { dg-do run } */
|
||||||
/* { dg-options "-std=c99" } */
|
/* { 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-options "-std=gnu99" { target *-*-hpux* } } */
|
||||||
/* { dg-additional-options "-D__USE_MINGW_ANSI_STDIO=1" { target *-*-mingw* } } */
|
/* { dg-additional-options "-D__USE_MINGW_ANSI_STDIO=1" { target *-*-mingw* } } */
|
||||||
/* { dg-xfail-if "no C99 snprintf function" { *-*-hpux10* } } */
|
/* { dg-xfail-if "no C99 snprintf function" { *-*-hpux10* } } */
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* { dg-do compile } */
|
/* { dg-do compile } */
|
||||||
/* { dg-options "-O2 -fomit-frame-pointer -flax-vector-conversions -mmmx" } */
|
/* { 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>
|
#include <mmintrin.h>
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* { dg-do compile } */
|
/* { dg-do compile } */
|
||||||
/* { dg-options "-O2 -msse2" } */
|
/* { 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* } } */
|
/* { dg-additional-options "-mabi=sysv" { target x86_64-*-mingw* } } */
|
||||||
|
|
||||||
#include <mmintrin.h>
|
#include <mmintrin.h>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* { dg-do compile { target ia32 } } */
|
/* { 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" } */
|
/* { dg-options "-mmmx -mvect8-ret-in-mem" } */
|
||||||
|
|
||||||
#include <mmintrin.h>
|
#include <mmintrin.h>
|
||||||
|
|
|
@ -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.
|
# Add to FLAGS all the target-specific flags needed to use thread-local storage.
|
||||||
|
|
||||||
proc add_options_for_tls { flags } {
|
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.
|
# libthread, so always pass -pthread for native TLS.
|
||||||
# Need to duplicate native TLS check from
|
# Need to duplicate native TLS check from
|
||||||
# check_effective_target_tls_native to avoid recursion.
|
# 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 {
|
[check_no_messages_and_pattern tls_native "!emutls" assembly {
|
||||||
__thread int i;
|
__thread int i;
|
||||||
int f (void) { return i; }
|
int f (void) { return i; }
|
||||||
|
|
|
@ -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>
|
2012-02-14 Walter Lee <walt@tilera.com>
|
||||||
|
|
||||||
* configure.ac: Require 64-bit hwint for tilegx and tilepro.
|
* configure.ac: Require 64-bit hwint for tilegx and tilepro.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* CPP Library - lexical analysis.
|
/* CPP Library - lexical analysis.
|
||||||
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010,
|
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.
|
Contributed by Per Bothner, 1994-95.
|
||||||
Based on CCCP program by Paul Rubin, June 1986
|
Based on CCCP program by Paul Rubin, June 1986
|
||||||
Adapted to ANSI C, Richard Stallman, Jan 1987
|
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
|
/* Disable on Solaris 2/x86 until the following problems can be properly
|
||||||
autoconfed:
|
autoconfed:
|
||||||
|
|
||||||
The Solaris 8 assembler cannot assemble SSE2/SSE4.2 insns.
|
|
||||||
The Solaris 9 assembler cannot assemble SSE4.2 insns.
|
The Solaris 9 assembler cannot assemble SSE4.2 insns.
|
||||||
Before Solaris 9 Update 6, SSE insns cannot be executed.
|
Before Solaris 9 Update 6, SSE insns cannot be executed.
|
||||||
The Solaris 10+ assembler tags objects with the instruction set
|
The Solaris 10+ assembler tags objects with the instruction set
|
||||||
|
|
|
@ -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>
|
2012-03-13 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
* unwind-dw2.c (_Unwind_SetGRValue): Assert DWARF register size
|
* unwind-dw2.c (_Unwind_SetGRValue): Assert DWARF register size
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* DWARF2 EH unwinding support for AMD x86-64 and x86.
|
/* 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.
|
This file is part of GCC.
|
||||||
|
|
||||||
|
@ -144,55 +144,23 @@ x86_fallback_frame_state (struct _Unwind_Context *context,
|
||||||
mcontext_t *mctx;
|
mcontext_t *mctx;
|
||||||
long new_cfa;
|
long new_cfa;
|
||||||
|
|
||||||
if (/* Solaris 8 - single-threaded
|
if (/* Solaris 9 - single-threaded
|
||||||
----------------------------
|
----------------------------
|
||||||
<sigacthandler+17>: mov 0x10(%ebp),%esi
|
<sigacthandler+16>: mov 0x244(%ebx),%ecx
|
||||||
<sigacthandler+20>: push %esi
|
<sigacthandler+22>: mov 0x8(%ebp),%eax
|
||||||
<sigacthandler+21>: pushl 0xc(%ebp)
|
<sigacthandler+25>: mov (%ecx,%eax,4),%ecx
|
||||||
<sigacthandler+24>: mov 0x8(%ebp),%ecx
|
<sigacthandler+28>: pushl 0x10(%ebp)
|
||||||
<sigacthandler+27>: push %ecx
|
<sigacthandler+31>: pushl 0xc(%ebp)
|
||||||
<sigacthandler+28>: mov offset(%ebx),%eax
|
<sigacthandler+34>: push %eax
|
||||||
<sigacthandler+34>: call *(%eax,%ecx,4)
|
<sigacthandler+35>: call *%ecx
|
||||||
<sigacthandler+37>: add $0xc,%esp <--- PC
|
<sigacthandler+37>: add $0xc,%esp <--- PC
|
||||||
<sigacthandler+40>: push %esi ... */
|
<sigacthandler+40>: pushl 0x10(%ebp) */
|
||||||
(*(unsigned long *)(pc - 20) == 0x5610758b
|
(*(unsigned long *)(pc - 21) == 0x2448b8b
|
||||||
&& *(unsigned long *)(pc - 16) == 0x8b0c75ff
|
&& *(unsigned long *)(pc - 17) == 0x458b0000
|
||||||
&& *(unsigned long *)(pc - 12) == 0x8b51084d
|
&& *(unsigned long *)(pc - 13) == 0x810c8b08
|
||||||
&& *(unsigned char *)(pc - 8) == 0x83
|
&& *(unsigned long *)(pc - 9) == 0xff1075ff
|
||||||
&& *(unsigned long *)(pc - 4) == 0x8814ff00
|
&& *(unsigned long *)(pc - 5) == 0xff500c75
|
||||||
&& *(unsigned long *)(pc - 0) == 0x560cc483)
|
&& *(unsigned long *)(pc - 1) == 0xcc483d1)
|
||||||
|
|
||||||
|| /* 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)
|
|
||||||
|
|
||||||
|| /* Solaris 9 - multi-threaded, Solaris 10
|
|| /* Solaris 9 - multi-threaded, Solaris 10
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
|
@ -36,44 +36,25 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
static int
|
static int
|
||||||
sparc64_is_sighandler (unsigned int *pc, void *cfa, int *nframes)
|
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
|
The pattern changes slightly in different versions of the
|
||||||
<sigacthandler+28>: ldx [ %o2 + 0xfa0 ], %g5
|
operating system, so we skip the comparison against pc[-6] for
|
||||||
<sigacthandler+32>: sra %i0, 0, %o0
|
Solaris 9.
|
||||||
<sigacthandler+36>: sllx %o0, 3, %g4
|
|
||||||
|
<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+40>: ldx [ %g4 + %g5 ], %l0
|
||||||
<sigacthandler+44>: call %l0
|
<sigacthandler+44>: call %l0
|
||||||
<sigacthandler+48>: mov %i2, %o2
|
<sigacthandler+48>: mov %i2, %o2
|
||||||
<sigacthandler+52>: cmp %i3, 8 <--- PC */
|
<sigacthandler+52>: cmp %l1, 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 */
|
|
||||||
( pc[-7] == 0xa33e2000
|
( pc[-7] == 0xa33e2000
|
||||||
/* skip pc[-6] */
|
/* skip pc[-6] */
|
||||||
&& pc[-5] == 0x892c7003
|
&& 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)
|
else if (cuh_pattern == 0x9410001a || cuh_pattern == 0x94100013)
|
||||||
/* This matches the call_user_handler pattern for Solaris 9 and
|
/* This matches the call_user_handler pattern for Solaris 9.
|
||||||
for Solaris 8 running inside Solaris Containers respectively
|
|
||||||
We need to move up three frames:
|
We need to move up three frames:
|
||||||
|
|
||||||
<signal handler> <-- context->cfa
|
<signal handler> <-- context->cfa
|
||||||
|
@ -159,17 +139,6 @@ sparc64_is_sighandler (unsigned int *pc, void *cfa, int *nframes)
|
||||||
*/
|
*/
|
||||||
*nframes = 3;
|
*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;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -211,8 +180,8 @@ sparc64_frob_update_context (struct _Unwind_Context *context,
|
||||||
static int
|
static int
|
||||||
sparc_is_sighandler (unsigned int *pc, void *cfa, int *nframes)
|
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
|
The pattern changes slightly in different versions of the operating
|
||||||
system, so we skip the comparison against pc[-6].
|
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;
|
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
|
if(/* Solaris 8+ - multi-threaded
|
||||||
----------------------------
|
----------------------------
|
||||||
<__sighndlr>: save %sp, -96, %sp
|
<__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)
|
else if (cuh_pattern == 0x9410001a || cuh_pattern == 0x9410001b)
|
||||||
/* This matches the call_user_handler pattern for Solaris 9 and
|
/* This matches the call_user_handler pattern for Solaris 9.
|
||||||
for Solaris 8 running inside Solaris Containers respectively.
|
|
||||||
We need to move up three frames:
|
We need to move up three frames:
|
||||||
|
|
||||||
<signal handler> <-- context->cfa
|
<signal handler> <-- context->cfa
|
||||||
|
@ -344,17 +281,6 @@ sparc_is_sighandler (unsigned int *pc, void *cfa, int *nframes)
|
||||||
*/
|
*/
|
||||||
*nframes = 3;
|
*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;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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>
|
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||||
|
|
||||||
* configure.ac (libgcj_cv_exidx): Remove IRIX 6 ld workaround.
|
* configure.ac (libgcj_cv_exidx): Remove IRIX 6 ld workaround.
|
||||||
|
|
|
@ -20740,16 +20740,8 @@ case "$THREADS" in
|
||||||
THREADLIBS='-lpthread -lrt'
|
THREADLIBS='-lpthread -lrt'
|
||||||
THREADSPEC='-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)
|
*-*-solaris2.9)
|
||||||
# As on Solaris 8, need libthread for TLS support.
|
# Need libthread for TLS support.
|
||||||
THREADLIBS='-lpthread -lthread'
|
THREADLIBS='-lpthread -lthread'
|
||||||
THREADSPEC='-lpthread -lthread'
|
THREADSPEC='-lpthread -lthread'
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -1086,16 +1086,8 @@ case "$THREADS" in
|
||||||
THREADLIBS='-lpthread -lrt'
|
THREADLIBS='-lpthread -lrt'
|
||||||
THREADSPEC='-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)
|
*-*-solaris2.9)
|
||||||
# As on Solaris 8, need libthread for TLS support.
|
# Need libthread for TLS support.
|
||||||
THREADLIBS='-lpthread -lthread'
|
THREADLIBS='-lpthread -lthread'
|
||||||
THREADSPEC='-lpthread -lthread'
|
THREADSPEC='-lpthread -lthread'
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -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>
|
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||||
|
|
||||||
* configure.host (irix6.5*): Remove.
|
* configure.host (irix6.5*): Remove.
|
||||||
|
|
|
@ -1714,100 +1714,6 @@ AC_DEFUN([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS], [
|
||||||
[Define to the value of the SEEK_END integer constant.])
|
[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
|
||||||
dnl Check whether required C++ overloads are present in <stdio.h>.
|
dnl Check whether required C++ overloads are present in <stdio.h>.
|
||||||
dnl
|
dnl
|
||||||
|
@ -3401,9 +3307,9 @@ AC_DEFUN([GLIBCXX_CHECK_GTHREADS], [
|
||||||
#error
|
#error
|
||||||
#endif
|
#endif
|
||||||
], [case $target_os in
|
], [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).
|
# libstdc++/52189).
|
||||||
solaris2.[[89]]*)
|
solaris2.9*)
|
||||||
if test x$enable_symvers = xno; then
|
if test x$enable_symvers = xno; then
|
||||||
ac_has_gthreads=yes
|
ac_has_gthreads=yes
|
||||||
elif test x$enable_libstdcxx_threads = xyes; then
|
elif test x$enable_libstdcxx_threads = xyes; then
|
||||||
|
|
|
@ -848,21 +848,6 @@
|
||||||
/* Define to 1 if mutex_timedlock is available. */
|
/* Define to 1 if mutex_timedlock is available. */
|
||||||
#undef _GTHREAD_USE_MUTEX_TIMEDLOCK
|
#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)
|
#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF)
|
||||||
# define HAVE_ACOSF 1
|
# define HAVE_ACOSF 1
|
||||||
# define acosf _acosf
|
# define acosf _acosf
|
||||||
|
|
|
@ -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
|
// 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
|
// software; you can redistribute it and/or modify it under the
|
||||||
|
@ -29,11 +30,8 @@
|
||||||
// file will come before all others.
|
// file will come before all others.
|
||||||
|
|
||||||
#if __cplusplus >= 199711L
|
#if __cplusplus >= 199711L
|
||||||
// Overloads in <iso/math_iso.h> and <iso/stdlib_iso.h> changed with
|
#define __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
// Solaris 8 patches. Since <bits/c++config.h> includes
|
#define __CORRECT_ISO_CPP_STDLIB_H_PROTO
|
||||||
// <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_STRING_H_PROTO
|
#define __CORRECT_ISO_CPP_STRING_H_PROTO
|
||||||
#define __CORRECT_ISO_CPP_WCHAR_H_PROTO
|
#define __CORRECT_ISO_CPP_WCHAR_H_PROTO
|
||||||
#endif
|
#endif
|
|
@ -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_ext=cpp
|
||||||
ac_cpp='$CXXCPP $CPPFLAGS'
|
ac_cpp='$CXXCPP $CPPFLAGS'
|
||||||
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||||
|
@ -63713,7 +63592,7 @@ done
|
||||||
;;
|
;;
|
||||||
*-solaris*)
|
*-solaris*)
|
||||||
case "$target" in
|
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
|
# 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
|
# tests. Check for that first. We should have already tested for gld
|
||||||
|
@ -65622,9 +65501,9 @@ main ()
|
||||||
_ACEOF
|
_ACEOF
|
||||||
if ac_fn_cxx_try_compile "$LINENO"; then :
|
if ac_fn_cxx_try_compile "$LINENO"; then :
|
||||||
case $target_os in
|
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).
|
# libstdc++/52189).
|
||||||
solaris2.[89]*)
|
solaris2.9*)
|
||||||
if test x$enable_symvers = xno; then
|
if test x$enable_symvers = xno; then
|
||||||
ac_has_gthreads=yes
|
ac_has_gthreads=yes
|
||||||
elif test x$enable_libstdcxx_threads = xyes; then
|
elif test x$enable_libstdcxx_threads = xyes; then
|
||||||
|
|
|
@ -134,8 +134,6 @@ GLIBCXX_ENABLE_PYTHON
|
||||||
GLIBCXX_ENABLE_WERROR([yes])
|
GLIBCXX_ENABLE_WERROR([yes])
|
||||||
|
|
||||||
# Checks for operating systems support that doesn't require linking.
|
# Checks for operating systems support that doesn't require linking.
|
||||||
GLIBCXX_CHECK_MATH_PROTO
|
|
||||||
GLIBCXX_CHECK_STDLIB_PROTO
|
|
||||||
GLIBCXX_CHECK_STDIO_PROTO
|
GLIBCXX_CHECK_STDIO_PROTO
|
||||||
GLIBCXX_CHECK_SYSTEM_ERROR
|
GLIBCXX_CHECK_SYSTEM_ERROR
|
||||||
|
|
||||||
|
|
|
@ -280,8 +280,8 @@ case "${host_os}" in
|
||||||
echo "Please specify the full version of Solaris, ie. solaris2.9 " 1>&2
|
echo "Please specify the full version of Solaris, ie. solaris2.9 " 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
solaris2.[89] | solaris2.1[0-9])
|
solaris2.9 | solaris2.1[0-9])
|
||||||
os_include_dir="os/solaris/solaris2.8"
|
os_include_dir="os/solaris/solaris2.9"
|
||||||
;;
|
;;
|
||||||
tpf)
|
tpf)
|
||||||
os_include_dir="os/tpf"
|
os_include_dir="os/tpf"
|
||||||
|
@ -332,8 +332,8 @@ case "${host}" in
|
||||||
powerpc*-*-darwin*)
|
powerpc*-*-darwin*)
|
||||||
port_specific_symbol_files="\$(srcdir)/../config/os/bsd/darwin/ppc-extra.ver"
|
port_specific_symbol_files="\$(srcdir)/../config/os/bsd/darwin/ppc-extra.ver"
|
||||||
;;
|
;;
|
||||||
*-*-solaris2.[89])
|
*-*-solaris2.9)
|
||||||
abi_baseline_pair=solaris2.8
|
abi_baseline_pair=solaris2.9
|
||||||
abi_baseline_subdir_switch=--print-multi-os-directory
|
abi_baseline_subdir_switch=--print-multi-os-directory
|
||||||
;;
|
;;
|
||||||
*-*-solaris2.1[0-9])
|
*-*-solaris2.1[0-9])
|
||||||
|
|
|
@ -198,7 +198,7 @@ case "${host}" in
|
||||||
;;
|
;;
|
||||||
*-solaris*)
|
*-solaris*)
|
||||||
case "$target" in
|
case "$target" in
|
||||||
*-solaris2.8 | *-solaris2.9 | *-solaris2.10)
|
*-solaris2.9 | *-solaris2.10)
|
||||||
GLIBCXX_CHECK_LINKER_FEATURES
|
GLIBCXX_CHECK_LINKER_FEATURES
|
||||||
AC_DEFINE(HAVE_MBSTATE_T)
|
AC_DEFINE(HAVE_MBSTATE_T)
|
||||||
AC_DEFINE(HAVE_FINITE)
|
AC_DEFINE(HAVE_FINITE)
|
||||||
|
|
|
@ -164,7 +164,7 @@
|
||||||
<varlistentry><term><code>--enable-libstdcxx-threads</code></term>
|
<varlistentry><term><code>--enable-libstdcxx-threads</code></term>
|
||||||
<listitem><para>Enable C++11 threads support. If not explicitly specified,
|
<listitem><para>Enable C++11 threads support. If not explicitly specified,
|
||||||
the configure process enables it if possible. It defaults to 'off'
|
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.
|
option can change the library ABI.
|
||||||
</para>
|
</para>
|
||||||
</listitem></varlistentry>
|
</listitem></varlistentry>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// -*- C++ -*- C forwarding header.
|
// -*- C++ -*- C forwarding header.
|
||||||
|
|
||||||
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
|
// 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.
|
// Free Software Foundation, Inc.
|
||||||
//
|
//
|
||||||
// This file is part of the GNU ISO C++ Library. This library is free
|
// 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
|
_GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
#if !defined(__CORRECT_ISO_CPP_MATH_H_PROTO1) \
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
&& !defined(__CORRECT_ISO_CPP_MATH_H_PROTO2)
|
|
||||||
inline _GLIBCXX_CONSTEXPR double
|
inline _GLIBCXX_CONSTEXPR double
|
||||||
abs(double __x)
|
abs(double __x)
|
||||||
{ return __builtin_fabs(__x); }
|
{ return __builtin_fabs(__x); }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline _GLIBCXX_CONSTEXPR float
|
inline _GLIBCXX_CONSTEXPR float
|
||||||
abs(float __x)
|
abs(float __x)
|
||||||
{ return __builtin_fabsf(__x); }
|
{ return __builtin_fabsf(__x); }
|
||||||
|
@ -104,7 +103,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::acos;
|
using ::acos;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline _GLIBCXX_CONSTEXPR float
|
inline _GLIBCXX_CONSTEXPR float
|
||||||
acos(float __x)
|
acos(float __x)
|
||||||
{ return __builtin_acosf(__x); }
|
{ return __builtin_acosf(__x); }
|
||||||
|
@ -123,7 +122,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::asin;
|
using ::asin;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline _GLIBCXX_CONSTEXPR float
|
inline _GLIBCXX_CONSTEXPR float
|
||||||
asin(float __x)
|
asin(float __x)
|
||||||
{ return __builtin_asinf(__x); }
|
{ return __builtin_asinf(__x); }
|
||||||
|
@ -142,7 +141,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::atan;
|
using ::atan;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline _GLIBCXX_CONSTEXPR float
|
inline _GLIBCXX_CONSTEXPR float
|
||||||
atan(float __x)
|
atan(float __x)
|
||||||
{ return __builtin_atanf(__x); }
|
{ return __builtin_atanf(__x); }
|
||||||
|
@ -161,7 +160,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::atan2;
|
using ::atan2;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline _GLIBCXX_CONSTEXPR float
|
inline _GLIBCXX_CONSTEXPR float
|
||||||
atan2(float __y, float __x)
|
atan2(float __y, float __x)
|
||||||
{ return __builtin_atan2f(__y, __x); }
|
{ return __builtin_atan2f(__y, __x); }
|
||||||
|
@ -182,7 +181,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::ceil;
|
using ::ceil;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline _GLIBCXX_CONSTEXPR float
|
inline _GLIBCXX_CONSTEXPR float
|
||||||
ceil(float __x)
|
ceil(float __x)
|
||||||
{ return __builtin_ceilf(__x); }
|
{ return __builtin_ceilf(__x); }
|
||||||
|
@ -201,7 +200,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::cos;
|
using ::cos;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline _GLIBCXX_CONSTEXPR float
|
inline _GLIBCXX_CONSTEXPR float
|
||||||
cos(float __x)
|
cos(float __x)
|
||||||
{ return __builtin_cosf(__x); }
|
{ return __builtin_cosf(__x); }
|
||||||
|
@ -220,7 +219,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::cosh;
|
using ::cosh;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline _GLIBCXX_CONSTEXPR float
|
inline _GLIBCXX_CONSTEXPR float
|
||||||
cosh(float __x)
|
cosh(float __x)
|
||||||
{ return __builtin_coshf(__x); }
|
{ return __builtin_coshf(__x); }
|
||||||
|
@ -239,7 +238,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::exp;
|
using ::exp;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline _GLIBCXX_CONSTEXPR float
|
inline _GLIBCXX_CONSTEXPR float
|
||||||
exp(float __x)
|
exp(float __x)
|
||||||
{ return __builtin_expf(__x); }
|
{ return __builtin_expf(__x); }
|
||||||
|
@ -258,7 +257,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::fabs;
|
using ::fabs;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline _GLIBCXX_CONSTEXPR float
|
inline _GLIBCXX_CONSTEXPR float
|
||||||
fabs(float __x)
|
fabs(float __x)
|
||||||
{ return __builtin_fabsf(__x); }
|
{ return __builtin_fabsf(__x); }
|
||||||
|
@ -277,7 +276,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::floor;
|
using ::floor;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline _GLIBCXX_CONSTEXPR float
|
inline _GLIBCXX_CONSTEXPR float
|
||||||
floor(float __x)
|
floor(float __x)
|
||||||
{ return __builtin_floorf(__x); }
|
{ return __builtin_floorf(__x); }
|
||||||
|
@ -296,7 +295,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::fmod;
|
using ::fmod;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline _GLIBCXX_CONSTEXPR float
|
inline _GLIBCXX_CONSTEXPR float
|
||||||
fmod(float __x, float __y)
|
fmod(float __x, float __y)
|
||||||
{ return __builtin_fmodf(__x, __y); }
|
{ return __builtin_fmodf(__x, __y); }
|
||||||
|
@ -317,7 +316,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::frexp;
|
using ::frexp;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline float
|
inline float
|
||||||
frexp(float __x, int* __exp)
|
frexp(float __x, int* __exp)
|
||||||
{ return __builtin_frexpf(__x, __exp); }
|
{ return __builtin_frexpf(__x, __exp); }
|
||||||
|
@ -336,7 +335,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::ldexp;
|
using ::ldexp;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline _GLIBCXX_CONSTEXPR float
|
inline _GLIBCXX_CONSTEXPR float
|
||||||
ldexp(float __x, int __exp)
|
ldexp(float __x, int __exp)
|
||||||
{ return __builtin_ldexpf(__x, __exp); }
|
{ return __builtin_ldexpf(__x, __exp); }
|
||||||
|
@ -355,7 +354,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::log;
|
using ::log;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline _GLIBCXX_CONSTEXPR float
|
inline _GLIBCXX_CONSTEXPR float
|
||||||
log(float __x)
|
log(float __x)
|
||||||
{ return __builtin_logf(__x); }
|
{ return __builtin_logf(__x); }
|
||||||
|
@ -374,7 +373,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::log10;
|
using ::log10;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline _GLIBCXX_CONSTEXPR float
|
inline _GLIBCXX_CONSTEXPR float
|
||||||
log10(float __x)
|
log10(float __x)
|
||||||
{ return __builtin_log10f(__x); }
|
{ return __builtin_log10f(__x); }
|
||||||
|
@ -393,7 +392,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::modf;
|
using ::modf;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline float
|
inline float
|
||||||
modf(float __x, float* __iptr)
|
modf(float __x, float* __iptr)
|
||||||
{ return __builtin_modff(__x, __iptr); }
|
{ return __builtin_modff(__x, __iptr); }
|
||||||
|
@ -405,7 +404,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::pow;
|
using ::pow;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline _GLIBCXX_CONSTEXPR float
|
inline _GLIBCXX_CONSTEXPR float
|
||||||
pow(float __x, float __y)
|
pow(float __x, float __y)
|
||||||
{ return __builtin_powf(__x, __y); }
|
{ return __builtin_powf(__x, __y); }
|
||||||
|
@ -442,7 +441,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::sin;
|
using ::sin;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline _GLIBCXX_CONSTEXPR float
|
inline _GLIBCXX_CONSTEXPR float
|
||||||
sin(float __x)
|
sin(float __x)
|
||||||
{ return __builtin_sinf(__x); }
|
{ return __builtin_sinf(__x); }
|
||||||
|
@ -461,7 +460,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::sinh;
|
using ::sinh;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline _GLIBCXX_CONSTEXPR float
|
inline _GLIBCXX_CONSTEXPR float
|
||||||
sinh(float __x)
|
sinh(float __x)
|
||||||
{ return __builtin_sinhf(__x); }
|
{ return __builtin_sinhf(__x); }
|
||||||
|
@ -480,7 +479,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::sqrt;
|
using ::sqrt;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline _GLIBCXX_CONSTEXPR float
|
inline _GLIBCXX_CONSTEXPR float
|
||||||
sqrt(float __x)
|
sqrt(float __x)
|
||||||
{ return __builtin_sqrtf(__x); }
|
{ return __builtin_sqrtf(__x); }
|
||||||
|
@ -499,7 +498,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::tan;
|
using ::tan;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline _GLIBCXX_CONSTEXPR float
|
inline _GLIBCXX_CONSTEXPR float
|
||||||
tan(float __x)
|
tan(float __x)
|
||||||
{ return __builtin_tanf(__x); }
|
{ return __builtin_tanf(__x); }
|
||||||
|
@ -518,7 +517,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
using ::tanh;
|
using ::tanh;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline _GLIBCXX_CONSTEXPR float
|
inline _GLIBCXX_CONSTEXPR float
|
||||||
tanh(float __x)
|
tanh(float __x)
|
||||||
{ return __builtin_tanhf(__x); }
|
{ return __builtin_tanhf(__x); }
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// TR1 cmath -*- C++ -*-
|
// TR1 cmath -*- C++ -*-
|
||||||
|
|
||||||
// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
|
// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
||||||
// Free Software Foundation, Inc.
|
// Free Software Foundation, Inc.
|
||||||
//
|
//
|
||||||
// This file is part of the GNU ISO C++ Library. This library is free
|
// 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
|
// 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
|
// would bring in also the overloads for complex types, which in C++0x
|
||||||
// mode have a different return type.
|
// 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
|
// global namespace after the declarations of the float / double / long
|
||||||
// double overloads but before the std::complex overloads.
|
// double overloads but before the std::complex overloads.
|
||||||
using ::fabs;
|
using ::fabs;
|
||||||
|
|
||||||
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
|
||||||
inline float
|
inline float
|
||||||
fabs(float __x)
|
fabs(float __x)
|
||||||
{ return __builtin_fabsf(__x); }
|
{ return __builtin_fabsf(__x); }
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// 1999-04-12 bkoz
|
// 1999-04-12 bkoz
|
||||||
|
|
||||||
// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009,
|
// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009,
|
||||||
// 2010
|
// 2010, 2012
|
||||||
// Free Software Foundation, Inc.
|
// Free Software Foundation, Inc.
|
||||||
//
|
//
|
||||||
// This file is part of the GNU ISO C++ Library. This library is free
|
// 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
|
// 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 sscanf for very long input. See:
|
||||||
// XXX http://gcc.gnu.org/ml/gcc/2002-12/msg01422.html
|
// 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 <istream>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
|
@ -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.
|
// Free Software Foundation, Inc.
|
||||||
//
|
//
|
||||||
// This file is part of the GNU ISO C++ Library. This library is free
|
// 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
|
// 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 sscanf for very long input. See:
|
||||||
// XXX http://gcc.gnu.org/ml/gcc/2002-12/msg01422.html
|
// 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 <istream>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
// Before Solaris 11, iconv -f ISO-8859-1 -t ISO-8859-1 fails with
|
// Before Solaris 11, iconv -f ISO-8859-1 -t ISO-8859-1 fails with
|
||||||
// Not supported ISO-8859-1 to ISO-8859-1
|
// 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" }
|
// { 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
|
// 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
|
// software; you can redistribute it and/or modify it under the
|
||||||
|
|
Loading…
Reference in New Issue