Remove obsolete Solaris 9 support
libstdc++-v3: * configure.host: Remove solaris2.9 handling. Change os_include_dir to os/solaris/solaris2.10. * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling. * crossconfig.m4: Remove *-solaris2.9 handling, simplify. * configure: Regenerate. * config/abi/post/solaris2.9: Remove. * config/os/solaris/solaris2.9: Rename to ... * config/os/solaris/solaris2.10: ... this. * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC): Remove. * doc/xml/manual/configure.xml (--enable-libstdcxx-threads): Remove Solaris 9 reference. * doc/html/manual/configure.html: Regenerate. * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc: Remove *-*-solaris2.9 xfail. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc: Likewise. * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9 xfail. libjava: * configure.ac (THREADLIBS, THREADSPEC): Remove *-*-solaris2.9 handling. * configure: Regenerate. libgfortran: * config/fpu-387.h [__sun__ && __svr4__]: Remove SSE execution check. libgcc: * config/i386/crtfastmath.c (set_fast_math): Remove SSE execution check. * config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove Solaris 9 single-threaded support. * config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove Solaris 9 single-threaded support. Add call_user_handler code sequences. (sparc_is_sighandler): Likewise. libcpp: * lex.c: Remove Solaris 9 reference. gcc/testsuite: * gcc.c-torture/compile/pr28865.c: Remove dg-xfail-if. * gcc.dg/c99-stdint-6.c: Remove dg-options for *-*-solaris2.9. * gcc.dg/lto/20090210_0.c: Remove dg-extra-ld-options for *-*-solaris2.9. * gcc.dg/torture/pr47917.c: Remove dg-options for *-*-solaris2.9. * gcc.target/i386/pr22076.c: Remove i?86-*-solaris2.9 handling from dg-options. * gcc.target/i386/pr22152.c: Remove i?86-*-solaris2.9 handling from dg-additional-options. * gcc.target/i386/vect8-ret.c: Remove i?86-*-solaris2.9 handling from dg-options. * gcc.dg/vect/tree-vect.h (check_vect): Remove Solaris 9 SSE2 execution check. * gcc.target/i386/sse-os-support.h [__sun__ && __svr4__] (sigill_hdlr): Remove. (sse_os_support) [__sun__ && __svr4__]: Remove SSE execution check. * gfortran.dg/erf_3.F90: Remove sparc*-*-solaris2.9* handling. * gfortran.dg/fmt_en.f90: Remove i?86-*-solaris2.9* handling. * gfortran.dg/round_4.f90: Remove *-*-solaris2.9* handling. * lib/target-supports.exp (add_options_for_tls): Remove *-*-solaris2.9* handling. gcc: * config.gcc (enable_obsolete): Remove *-*-solaris2.9*. (*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported. (*-*-solaris2*): Simplify. (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise. (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove *-*-solaris2.9* handling. * configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86 as bug. (gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling. (ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9 handling, simplify. (gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug. * configure: Regenerate. * config/i386/sol2-9.h: Remove. * doc/install.texi (Specific, i?86-*-solaris2.9): Remove. (Specific, *-*-solaris2*): Mention Solaris 9 support removal. Remove Solaris 9 references. fixincludes: * inclhack.def (math_exception): Bypass on *-*-solaris2.1[0-9]*. (solaris_int_types): Remove. (solaris_longjmp_noreturn): Remove. (solaris_mutex_init_2): Remove. (solaris_once_init_2): Remove. (solaris_sys_va_list): Remove. * fixincl.x: Regenerate. * tests/base/iso/setjmp_iso.h: Remove. * tests/base/pthread.h [SOLARIS_MUTEX_INIT_2_CHECK]: Remove. [SOLARIS_ONCE_INIT_1_CHECK]: Remove wrapping done by solaris_once_init_2. [SOLARIS_ONCE_INIT_2_CHECK]: Remove. * tests/base/sys/int_types.h: Remove. * tests/base/sys/va_list.h: Remove. contrib: * config-list.mk (LIST): Remove sparc-sun-solaris2.9, i686-solaris2.9. From-SVN: r209621
This commit is contained in:
parent
0d35c5c270
commit
d9f069ab4f
@ -1,3 +1,7 @@
|
||||
2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* config-list.mk (LIST): Remove sparc-sun-solaris2.9, i686-solaris2.9.
|
||||
|
||||
2013-04-22 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* gennews (files): Add files for GCC 4.9.
|
||||
|
@ -75,7 +75,6 @@ LIST = aarch64-elf aarch64-linux-gnu \
|
||||
x86_64-knetbsd-gnu x86_64-w64-mingw32 \
|
||||
x86_64-mingw32OPT-enable-sjlj-exceptions=yes xstormy16-elf xtensa-elf \
|
||||
xtensa-linux \
|
||||
sparc-sun-solaris2.9OPT-enable-obsolete i686-solaris2.9OPT-enable-obsolete \
|
||||
i686-interix3OPT-enable-obsolete score-elfOPT-enable-obsolete
|
||||
|
||||
LOGFILES = $(patsubst %,log/%-make.out,$(LIST))
|
||||
|
@ -1,3 +1,20 @@
|
||||
2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* inclhack.def (math_exception): Bypass on *-*-solaris2.1[0-9]*.
|
||||
(solaris_int_types): Remove.
|
||||
(solaris_longjmp_noreturn): Remove.
|
||||
(solaris_mutex_init_2): Remove.
|
||||
(solaris_once_init_2): Remove.
|
||||
(solaris_sys_va_list): Remove.
|
||||
* fixincl.x: Regenerate.
|
||||
* tests/base/iso/setjmp_iso.h: Remove.
|
||||
* tests/base/pthread.h [SOLARIS_MUTEX_INIT_2_CHECK]: Remove.
|
||||
[SOLARIS_ONCE_INIT_1_CHECK]: Remove wrapping done by
|
||||
solaris_once_init_2.
|
||||
[SOLARIS_ONCE_INIT_2_CHECK]: Remove.
|
||||
* tests/base/sys/int_types.h: Remove.
|
||||
* tests/base/sys/va_list.h: Remove.
|
||||
|
||||
2013-12-20 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||||
|
||||
Makefile.in: Use $(FI) instead of fixincl@EXEEXT@.
|
||||
|
@ -2,11 +2,11 @@
|
||||
*
|
||||
* DO NOT EDIT THIS FILE (fixincl.x)
|
||||
*
|
||||
* It has been AutoGen-ed December 8, 2013 at 12:24:14 PM by AutoGen 5.18.2
|
||||
* It has been AutoGen-ed Tuesday January 7, 2014 at 12:02:54 PM MET
|
||||
* From the definitions inclhack.def
|
||||
* and the template file fixincl
|
||||
*/
|
||||
/* DO NOT SVN-MERGE THIS FILE, EITHER Sun Dec 8 12:24:14 PST 2013
|
||||
/* DO NOT SVN-MERGE THIS FILE, EITHER Tue Jan 7 12:02:54 MET 2014
|
||||
*
|
||||
* You must regenerate it. Use the ./genfixes script.
|
||||
*
|
||||
@ -15,7 +15,7 @@
|
||||
* certain ANSI-incompatible system header files which are fixed to work
|
||||
* correctly with ANSI C and placed in a directory that GNU C will search.
|
||||
*
|
||||
* This file contains 229 fixup descriptions.
|
||||
* This file contains 224 fixup descriptions.
|
||||
*
|
||||
* See README for more information.
|
||||
*
|
||||
@ -5264,7 +5264,9 @@ tSCC zMath_ExceptionList[] =
|
||||
/*
|
||||
* Machine/OS name selection pattern
|
||||
*/
|
||||
#define apzMath_ExceptionMachs (const char**)NULL
|
||||
tSCC* apzMath_ExceptionMachs[] = {
|
||||
"*-*-solaris2.1[0-9]*",
|
||||
(const char*)NULL };
|
||||
|
||||
/*
|
||||
* content selection pattern - do fix if pattern found
|
||||
@ -6587,92 +6589,6 @@ static const char* apzSolaris_Int_Limits_3Patch[] = {
|
||||
"#define\tSIZE_MAX\t4294967295U",
|
||||
(char*)NULL };
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* Description of Solaris_Int_Types fix
|
||||
*/
|
||||
tSCC zSolaris_Int_TypesName[] =
|
||||
"solaris_int_types";
|
||||
|
||||
/*
|
||||
* File name selection pattern
|
||||
*/
|
||||
tSCC zSolaris_Int_TypesList[] =
|
||||
"sys/int_types.h\0";
|
||||
/*
|
||||
* Machine/OS name selection pattern
|
||||
*/
|
||||
#define apzSolaris_Int_TypesMachs (const char**)NULL
|
||||
|
||||
/*
|
||||
* content selection pattern - do fix if pattern found
|
||||
*/
|
||||
tSCC zSolaris_Int_TypesSelect0[] =
|
||||
"__STDC__ - 0 == 0";
|
||||
|
||||
/*
|
||||
* content bypass pattern - skip fix if pattern found
|
||||
*/
|
||||
tSCC zSolaris_Int_TypesBypass0[] =
|
||||
"_LONGLONG_TYPE";
|
||||
|
||||
#define SOLARIS_INT_TYPES_TEST_CT 2
|
||||
static tTestDesc aSolaris_Int_TypesTests[] = {
|
||||
{ TT_NEGREP, zSolaris_Int_TypesBypass0, (regex_t*)NULL },
|
||||
{ TT_EGREP, zSolaris_Int_TypesSelect0, (regex_t*)NULL }, };
|
||||
|
||||
/*
|
||||
* Fix Command Arguments for Solaris_Int_Types
|
||||
*/
|
||||
static const char* apzSolaris_Int_TypesPatch[] = {
|
||||
"format",
|
||||
"(defined(_STDC_C99) || !defined(_STRICT_STDC) || defined(__GNUC__))",
|
||||
(char*)NULL };
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* Description of Solaris_Longjmp_Noreturn fix
|
||||
*/
|
||||
tSCC zSolaris_Longjmp_NoreturnName[] =
|
||||
"solaris_longjmp_noreturn";
|
||||
|
||||
/*
|
||||
* File name selection pattern
|
||||
*/
|
||||
tSCC zSolaris_Longjmp_NoreturnList[] =
|
||||
"iso/setjmp_iso.h\0";
|
||||
/*
|
||||
* Machine/OS name selection pattern
|
||||
*/
|
||||
tSCC* apzSolaris_Longjmp_NoreturnMachs[] = {
|
||||
"*-*-solaris2*",
|
||||
(const char*)NULL };
|
||||
|
||||
/*
|
||||
* content selection pattern - do fix if pattern found
|
||||
*/
|
||||
tSCC zSolaris_Longjmp_NoreturnSelect0[] =
|
||||
"(.*longjmp\\(jmp_buf.*[^)]+\\));";
|
||||
|
||||
/*
|
||||
* content bypass pattern - skip fix if pattern found
|
||||
*/
|
||||
tSCC zSolaris_Longjmp_NoreturnBypass0[] =
|
||||
"__NORETURN";
|
||||
|
||||
#define SOLARIS_LONGJMP_NORETURN_TEST_CT 2
|
||||
static tTestDesc aSolaris_Longjmp_NoreturnTests[] = {
|
||||
{ TT_NEGREP, zSolaris_Longjmp_NoreturnBypass0, (regex_t*)NULL },
|
||||
{ TT_EGREP, zSolaris_Longjmp_NoreturnSelect0, (regex_t*)NULL }, };
|
||||
|
||||
/*
|
||||
* Fix Command Arguments for Solaris_Longjmp_Noreturn
|
||||
*/
|
||||
static const char* apzSolaris_Longjmp_NoreturnPatch[] = {
|
||||
"format",
|
||||
"%1 __attribute__ ((__noreturn__));",
|
||||
(char*)NULL };
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* Description of Solaris_Math_1 fix
|
||||
@ -6975,50 +6891,6 @@ static const char* apzSolaris_Math_9Patch[] = {
|
||||
"^#define[ \t]+([a-z]+)\\(x, y\\)([ \t]+)\\(\\(x\\) __builtin_[a-z]+\\(y\\)\\)",
|
||||
(char*)NULL };
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* Description of Solaris_Mutex_Init_2 fix
|
||||
*/
|
||||
tSCC zSolaris_Mutex_Init_2Name[] =
|
||||
"solaris_mutex_init_2";
|
||||
|
||||
/*
|
||||
* File name selection pattern
|
||||
*/
|
||||
tSCC zSolaris_Mutex_Init_2List[] =
|
||||
"pthread.h\0";
|
||||
/*
|
||||
* Machine/OS name selection pattern
|
||||
*/
|
||||
tSCC* apzSolaris_Mutex_Init_2Machs[] = {
|
||||
"*-*-solaris2.[0-9]",
|
||||
"*-*-solaris2.[0-9][!0-9]*",
|
||||
(const char*)NULL };
|
||||
|
||||
/*
|
||||
* content selection pattern - do fix if pattern found
|
||||
*/
|
||||
tSCC zSolaris_Mutex_Init_2Select0[] =
|
||||
"@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
|
||||
|
||||
#define SOLARIS_MUTEX_INIT_2_TEST_CT 1
|
||||
static tTestDesc aSolaris_Mutex_Init_2Tests[] = {
|
||||
{ TT_EGREP, zSolaris_Mutex_Init_2Select0, (regex_t*)NULL }, };
|
||||
|
||||
/*
|
||||
* Fix Command Arguments for Solaris_Mutex_Init_2
|
||||
*/
|
||||
static const char* apzSolaris_Mutex_Init_2Patch[] = {
|
||||
"format",
|
||||
"#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
|
||||
%0\n\
|
||||
#else\n\
|
||||
%1, {0}}%4\n\
|
||||
#endif",
|
||||
"(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+(|/*.**/[ \t]*\\\\\n\
|
||||
[ \t]*)\\{.*),[ \t]*0\\}(|[ \t].*)$",
|
||||
(char*)NULL };
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* Description of Solaris_Once_Init_1 fix
|
||||
@ -7057,49 +6929,6 @@ static const char* apzSolaris_Once_Init_1Patch[] = {
|
||||
"(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{)([^}]+)(\\})[ \t]*$",
|
||||
(char*)NULL };
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* Description of Solaris_Once_Init_2 fix
|
||||
*/
|
||||
tSCC zSolaris_Once_Init_2Name[] =
|
||||
"solaris_once_init_2";
|
||||
|
||||
/*
|
||||
* File name selection pattern
|
||||
*/
|
||||
tSCC zSolaris_Once_Init_2List[] =
|
||||
"pthread.h\0";
|
||||
/*
|
||||
* Machine/OS name selection pattern
|
||||
*/
|
||||
tSCC* apzSolaris_Once_Init_2Machs[] = {
|
||||
"*-*-solaris2.[0-9]",
|
||||
"*-*-solaris2.[0-9][!0-9]*",
|
||||
(const char*)NULL };
|
||||
|
||||
/*
|
||||
* content selection pattern - do fix if pattern found
|
||||
*/
|
||||
tSCC zSolaris_Once_Init_2Select0[] =
|
||||
"@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
|
||||
|
||||
#define SOLARIS_ONCE_INIT_2_TEST_CT 1
|
||||
static tTestDesc aSolaris_Once_Init_2Tests[] = {
|
||||
{ TT_EGREP, zSolaris_Once_Init_2Select0, (regex_t*)NULL }, };
|
||||
|
||||
/*
|
||||
* Fix Command Arguments for Solaris_Once_Init_2
|
||||
*/
|
||||
static const char* apzSolaris_Once_Init_2Patch[] = {
|
||||
"format",
|
||||
"#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
|
||||
%0\n\
|
||||
#else\n\
|
||||
%1{0}, {0}, {0}, {%3}%4\n\
|
||||
#endif",
|
||||
"(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{\\{)(0, 0, 0, )(PTHREAD_[A-Z_]+)(\\}\\})[ \t]*$",
|
||||
(char*)NULL };
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* Description of Solaris_Posix_Spawn_Restrict fix
|
||||
@ -7309,51 +7138,6 @@ static const char* apzSolaris_Stdio_TagPatch[] = { sed_cmd_z,
|
||||
"-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
|
||||
(char*)NULL };
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* Description of Solaris_Sys_Va_List fix
|
||||
*/
|
||||
tSCC zSolaris_Sys_Va_ListName[] =
|
||||
"solaris_sys_va_list";
|
||||
|
||||
/*
|
||||
* File name selection pattern
|
||||
*/
|
||||
tSCC zSolaris_Sys_Va_ListList[] =
|
||||
"sys/va_list.h\0";
|
||||
/*
|
||||
* Machine/OS name selection pattern
|
||||
*/
|
||||
tSCC* apzSolaris_Sys_Va_ListMachs[] = {
|
||||
"*-*-solaris2.9",
|
||||
(const char*)NULL };
|
||||
|
||||
/*
|
||||
* content selection pattern - do fix if pattern found
|
||||
*/
|
||||
tSCC zSolaris_Sys_Va_ListSelect0[] =
|
||||
"#if.*__STDC__.*\n\
|
||||
typedef void \\*__va_list;\n\
|
||||
#else\n\
|
||||
typedef char \\*__va_list;\n\
|
||||
#endif";
|
||||
|
||||
#define SOLARIS_SYS_VA_LIST_TEST_CT 1
|
||||
static tTestDesc aSolaris_Sys_Va_ListTests[] = {
|
||||
{ TT_EGREP, zSolaris_Sys_Va_ListSelect0, (regex_t*)NULL }, };
|
||||
|
||||
/*
|
||||
* Fix Command Arguments for Solaris_Sys_Va_List
|
||||
*/
|
||||
static const char* apzSolaris_Sys_Va_ListPatch[] = {
|
||||
"format",
|
||||
"#ifdef __GNUC__\n\
|
||||
typedef __builtin_va_list __va_list;\n\
|
||||
#else\n\
|
||||
%0\n\
|
||||
#endif",
|
||||
(char*)NULL };
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* Description of Statsswtch fix
|
||||
@ -9403,9 +9187,9 @@ static const char* apzX11_SprintfPatch[] = {
|
||||
*
|
||||
* List of all fixes
|
||||
*/
|
||||
#define REGEX_COUNT 268
|
||||
#define REGEX_COUNT 261
|
||||
#define MACH_LIST_SIZE_LIMIT 187
|
||||
#define FIX_COUNT 229
|
||||
#define FIX_COUNT 224
|
||||
|
||||
/*
|
||||
* Enumerate the fixes
|
||||
@ -9570,8 +9354,6 @@ typedef enum {
|
||||
SOLARIS_INT_LIMITS_1_FIXIDX,
|
||||
SOLARIS_INT_LIMITS_2_FIXIDX,
|
||||
SOLARIS_INT_LIMITS_3_FIXIDX,
|
||||
SOLARIS_INT_TYPES_FIXIDX,
|
||||
SOLARIS_LONGJMP_NORETURN_FIXIDX,
|
||||
SOLARIS_MATH_1_FIXIDX,
|
||||
SOLARIS_MATH_10_FIXIDX,
|
||||
SOLARIS_MATH_2_FIXIDX,
|
||||
@ -9579,15 +9361,12 @@ typedef enum {
|
||||
SOLARIS_MATH_4_FIXIDX,
|
||||
SOLARIS_MATH_8_FIXIDX,
|
||||
SOLARIS_MATH_9_FIXIDX,
|
||||
SOLARIS_MUTEX_INIT_2_FIXIDX,
|
||||
SOLARIS_ONCE_INIT_1_FIXIDX,
|
||||
SOLARIS_ONCE_INIT_2_FIXIDX,
|
||||
SOLARIS_POSIX_SPAWN_RESTRICT_FIXIDX,
|
||||
SOLARIS_POW_INT_OVERLOAD_FIXIDX,
|
||||
SOLARIS_RWLOCK_INIT_1_FIXIDX,
|
||||
SOLARIS_STD___FILBUF_FIXIDX,
|
||||
SOLARIS_STDIO_TAG_FIXIDX,
|
||||
SOLARIS_SYS_VA_LIST_FIXIDX,
|
||||
STATSSWTCH_FIXIDX,
|
||||
STDIO_STDARG_H_FIXIDX,
|
||||
STDIO_VA_LIST_FIXIDX,
|
||||
@ -10270,7 +10049,7 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
|
||||
|
||||
{ zMath_ExceptionName, zMath_ExceptionList,
|
||||
apzMath_ExceptionMachs,
|
||||
MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
||||
MATH_EXCEPTION_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
|
||||
aMath_ExceptionTests, apzMath_ExceptionPatch, 0 },
|
||||
|
||||
{ zMath_Huge_Val_From_Dbl_MaxName, zMath_Huge_Val_From_Dbl_MaxList,
|
||||
@ -10438,16 +10217,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
|
||||
SOLARIS_INT_LIMITS_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
||||
aSolaris_Int_Limits_3Tests, apzSolaris_Int_Limits_3Patch, 0 },
|
||||
|
||||
{ zSolaris_Int_TypesName, zSolaris_Int_TypesList,
|
||||
apzSolaris_Int_TypesMachs,
|
||||
SOLARIS_INT_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
||||
aSolaris_Int_TypesTests, apzSolaris_Int_TypesPatch, 0 },
|
||||
|
||||
{ zSolaris_Longjmp_NoreturnName, zSolaris_Longjmp_NoreturnList,
|
||||
apzSolaris_Longjmp_NoreturnMachs,
|
||||
SOLARIS_LONGJMP_NORETURN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
||||
aSolaris_Longjmp_NoreturnTests, apzSolaris_Longjmp_NoreturnPatch, 0 },
|
||||
|
||||
{ zSolaris_Math_1Name, zSolaris_Math_1List,
|
||||
apzSolaris_Math_1Machs,
|
||||
SOLARIS_MATH_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
||||
@ -10483,21 +10252,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
|
||||
SOLARIS_MATH_9_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
||||
aSolaris_Math_9Tests, apzSolaris_Math_9Patch, 0 },
|
||||
|
||||
{ zSolaris_Mutex_Init_2Name, zSolaris_Mutex_Init_2List,
|
||||
apzSolaris_Mutex_Init_2Machs,
|
||||
SOLARIS_MUTEX_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
||||
aSolaris_Mutex_Init_2Tests, apzSolaris_Mutex_Init_2Patch, 0 },
|
||||
|
||||
{ zSolaris_Once_Init_1Name, zSolaris_Once_Init_1List,
|
||||
apzSolaris_Once_Init_1Machs,
|
||||
SOLARIS_ONCE_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
||||
aSolaris_Once_Init_1Tests, apzSolaris_Once_Init_1Patch, 0 },
|
||||
|
||||
{ zSolaris_Once_Init_2Name, zSolaris_Once_Init_2List,
|
||||
apzSolaris_Once_Init_2Machs,
|
||||
SOLARIS_ONCE_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
||||
aSolaris_Once_Init_2Tests, apzSolaris_Once_Init_2Patch, 0 },
|
||||
|
||||
{ zSolaris_Posix_Spawn_RestrictName, zSolaris_Posix_Spawn_RestrictList,
|
||||
apzSolaris_Posix_Spawn_RestrictMachs,
|
||||
SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
||||
@ -10523,11 +10282,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
|
||||
SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
|
||||
aSolaris_Stdio_TagTests, apzSolaris_Stdio_TagPatch, 0 },
|
||||
|
||||
{ zSolaris_Sys_Va_ListName, zSolaris_Sys_Va_ListList,
|
||||
apzSolaris_Sys_Va_ListMachs,
|
||||
SOLARIS_SYS_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
||||
aSolaris_Sys_Va_ListTests, apzSolaris_Sys_Va_ListPatch, 0 },
|
||||
|
||||
{ zStatsswtchName, zStatsswtchList,
|
||||
apzStatsswtchMachs,
|
||||
STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
||||
|
@ -2767,6 +2767,9 @@ fix = {
|
||||
*/
|
||||
bypass = 'We have a problem when using C\+\+|for C\+\+, '
|
||||
'_[a-z0-9A-Z_]+_exception; for C, exception';
|
||||
/* The Solaris 10 headers already get this right. */
|
||||
mach = '*-*-solaris2.1[0-9]*';
|
||||
not_machine = true;
|
||||
c_fix = wrap;
|
||||
|
||||
c_fix_arg = "#ifdef __cplusplus\n"
|
||||
@ -3406,42 +3409,6 @@ fix = {
|
||||
"#define SIZE_MAX 4294967295UL";
|
||||
};
|
||||
|
||||
/*
|
||||
* Sun Solaris up to 9 has a version of sys/int_types.h that forbids use
|
||||
* of Standard C99 64-bit types in 32-bit mode.
|
||||
*/
|
||||
fix = {
|
||||
hackname = solaris_int_types;
|
||||
select = "__STDC__ - 0 == 0";
|
||||
bypass = "_LONGLONG_TYPE";
|
||||
files = sys/int_types.h;
|
||||
c_fix = format;
|
||||
c_fix_arg =
|
||||
"(defined(_STDC_C99) || !defined(_STRICT_STDC) || defined(__GNUC__))";
|
||||
test_text =
|
||||
"#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n"
|
||||
"typedef long long int64_t;\n"
|
||||
"#endif\n\n"
|
||||
"#if defined(_LP64) || (__STDC__ - 0 == 0 && !defined(_NO_LONGLONG))\n"
|
||||
"typedef int64_t intmax_t;\n"
|
||||
"#endif";
|
||||
};
|
||||
|
||||
/*
|
||||
* Before Solaris 10, <iso/setjmp_iso.h> doesn't mark longjump noreturn.
|
||||
*/
|
||||
fix = {
|
||||
hackname = solaris_longjmp_noreturn;
|
||||
mach = "*-*-solaris2*";
|
||||
files = "iso/setjmp_iso.h";
|
||||
bypass = "__NORETURN";
|
||||
select = "(.*longjmp\\(jmp_buf.*[^)]+\\));";
|
||||
c_fix = format;
|
||||
c_fix_arg = "%1 __attribute__ ((__noreturn__));";
|
||||
|
||||
test_text = "extern void longjmp(jmp_buf, int);";
|
||||
};
|
||||
|
||||
/*
|
||||
* Sun Solaris 10 defines several C99 math macros in terms of
|
||||
* builtins specific to the Studio compiler, in particular not
|
||||
@ -3594,44 +3561,6 @@ fix = {
|
||||
"#define isunordered(x, y) ((x) __builtin_isunordered(y))";
|
||||
};
|
||||
|
||||
/*
|
||||
* Sun Solaris defines PTHREAD_MUTEX_INITIALIZER with a trailing
|
||||
* "0" for the last field of the pthread_mutex_t structure, which is
|
||||
* of type upad64_t, which itself is typedef'd to int64_t, but with
|
||||
* __STDC__ defined (e.g. by -ansi) it is a union. So change the
|
||||
* initializer to "{0}" instead
|
||||
*/
|
||||
fix = {
|
||||
hackname = solaris_mutex_init_2;
|
||||
select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
|
||||
files = pthread.h;
|
||||
/*
|
||||
* On Solaris 10, this fix is unnecessary because upad64_t is
|
||||
* always defined correctly regardless of the definition of the
|
||||
* __STDC__ macro. The first "mach" pattern matches up to
|
||||
* solaris9. The second "mach" pattern will not match any two (or
|
||||
* more) digit solaris version, but it will match e.g. 2.5.1.
|
||||
*/
|
||||
mach = '*-*-solaris2.[0-9]', '*-*-solaris2.[0-9][!0-9]*';
|
||||
c_fix = format;
|
||||
c_fix_arg = "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n"
|
||||
"%0\n"
|
||||
"#else\n"
|
||||
"%1, {0}}%4\n"
|
||||
"#endif";
|
||||
c_fix_arg = "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+"
|
||||
"(|/\*.*\*/[ \t]*\\\\\n[ \t]*)\\{.*)"
|
||||
",[ \t]*0\\}" "(|[ \t].*)$";
|
||||
test_text =
|
||||
'#ident "@(#)pthread.h 1.26 98/04/12 SMI"'"\n"
|
||||
"#define PTHREAD_MUTEX_INITIALIZER\t{{{0},0}, {{{0}}}, 0}\n"
|
||||
"#define PTHREAD_COND_INITIALIZER\t{{{0}, 0}, 0}\t/* DEFAULTCV */\n"
|
||||
"#define PTHREAD_MUTEX_INITIALIZER /* = DEFAULTMUTEX */ \\\\\n"
|
||||
" {{0, 0, 0, DEFAULT_TYPE, _MUTEX_MAGIC}, {{{0}}}, 0}\n"
|
||||
"#define PTHREAD_COND_INITIALIZER /* = DEFAULTCV */ \\\\\n"
|
||||
" {{{0, 0, 0, 0}, DEFAULT_TYPE, _COND_MAGIC}, 0}";
|
||||
};
|
||||
|
||||
/*
|
||||
* Sun Solaris defines PTHREAD_ONCE_INIT as an array containing a
|
||||
* structure. As such, it need two levels of brackets, but only
|
||||
@ -3650,38 +3579,6 @@ fix = {
|
||||
"#define PTHREAD_ONCE_INIT\t{0, 0, 0, PTHREAD_ONCE_NOTDONE}";
|
||||
};
|
||||
|
||||
/*
|
||||
* Sun Solaris defines PTHREAD_ONCE_INIT with a "0" for some
|
||||
* fields of the pthread_once_t structure, which are of type
|
||||
* upad64_t, which itself is typedef'd to int64_t, but with __STDC__
|
||||
* defined (e.g. by -ansi) it is a union. So change the initializer
|
||||
* to "{0}" instead. This test relies on solaris_once_init_1.
|
||||
*/
|
||||
fix = {
|
||||
hackname = solaris_once_init_2;
|
||||
select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
|
||||
files = pthread.h;
|
||||
/*
|
||||
* On Solaris 10, this fix is unnecessary because upad64_t is
|
||||
* always defined correctly regardless of the definition of the
|
||||
* __STDC__ macro. The first "mach" pattern matches up to
|
||||
* solaris9. The second "mach" pattern will not match any two (or
|
||||
* more) digit solaris version, but it will match e.g. 2.5.1.
|
||||
*/
|
||||
mach = '*-*-solaris2.[0-9]', '*-*-solaris2.[0-9][!0-9]*';
|
||||
c_fix = format;
|
||||
c_fix_arg = "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n"
|
||||
"%0\n"
|
||||
"#else\n"
|
||||
"%1{0}, {0}, {0}, {%3}%4\n"
|
||||
"#endif";
|
||||
c_fix_arg = "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{\\{)"
|
||||
"(0, 0, 0, )(PTHREAD_[A-Z_]+)(\\}\\})[ \t]*$";
|
||||
test_text =
|
||||
'#ident "@(#)pthread.h 1.26 98/04/12 SMI"'"\n"
|
||||
"#define PTHREAD_ONCE_INIT\t{{0, 0, 0, PTHREAD_ONCE_NOTDONE}}\n";
|
||||
};
|
||||
|
||||
/*
|
||||
* Solaris 10+ <spawn.h> uses char *const argv[_RESTRICT_KYWD] in the
|
||||
* posix_spawn declarations, which doesn't work with C++.
|
||||
@ -3779,33 +3676,6 @@ fix = {
|
||||
test_text = "#if\tdefined(__cplusplus) && (__cplusplus < 54321L)";
|
||||
};
|
||||
|
||||
/*
|
||||
* On Solaris 9, __va_list needs to become a typedef for
|
||||
* __builtin_va_list to make -Wmissing-format-attribute work.
|
||||
*/
|
||||
fix = {
|
||||
hackname = solaris_sys_va_list;
|
||||
files = sys/va_list.h;
|
||||
mach = '*-*-solaris2.9';
|
||||
select = "#if.*__STDC__.*\n"
|
||||
"typedef void \\*__va_list;\n"
|
||||
"#else\n"
|
||||
"typedef char \\*__va_list;\n"
|
||||
"#endif";
|
||||
|
||||
c_fix = format;
|
||||
c_fix_arg = "#ifdef __GNUC__\n"
|
||||
"typedef __builtin_va_list __va_list;\n"
|
||||
"#else\n"
|
||||
"%0\n"
|
||||
"#endif";
|
||||
test_text = "#if defined(__STDC__) && !defined(__ia64)\n"
|
||||
"typedef void *__va_list;\n"
|
||||
"#else\n"
|
||||
"typedef char *__va_list;\n"
|
||||
"#endif";
|
||||
};
|
||||
|
||||
/*
|
||||
* a missing semi-colon at the end of the statsswtch structure definition.
|
||||
*/
|
||||
|
@ -1,14 +0,0 @@
|
||||
/* DO NOT EDIT THIS FILE.
|
||||
|
||||
It has been auto-edited by fixincludes from:
|
||||
|
||||
"fixinc/tests/inc/iso/setjmp_iso.h"
|
||||
|
||||
This had to be done to correct non-standard usages in the
|
||||
original, manufacturer supplied header file. */
|
||||
|
||||
|
||||
|
||||
#if defined( SOLARIS_LONGJMP_NORETURN_CHECK )
|
||||
extern void longjmp(jmp_buf, int) __attribute__ ((__noreturn__));
|
||||
#endif /* SOLARIS_LONGJMP_NORETURN_CHECK */
|
@ -96,56 +96,12 @@ extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask);
|
||||
#endif /* PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_CHECK */
|
||||
|
||||
|
||||
#if defined( SOLARIS_MUTEX_INIT_2_CHECK )
|
||||
#ident "@(#)pthread.h 1.26 98/04/12 SMI"
|
||||
#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
|
||||
#define PTHREAD_MUTEX_INITIALIZER {{{0},0}, {{{0}}}, 0}
|
||||
#else
|
||||
#define PTHREAD_MUTEX_INITIALIZER {{{0},0}, {{{0}}}, {0}}
|
||||
#endif
|
||||
#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
|
||||
#define PTHREAD_COND_INITIALIZER {{{0}, 0}, 0} /* DEFAULTCV */
|
||||
#else
|
||||
#define PTHREAD_COND_INITIALIZER {{{0}, 0}, {0}} /* DEFAULTCV */
|
||||
#endif
|
||||
#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
|
||||
#define PTHREAD_MUTEX_INITIALIZER /* = DEFAULTMUTEX */ \
|
||||
{{0, 0, 0, DEFAULT_TYPE, _MUTEX_MAGIC}, {{{0}}}, 0}
|
||||
#else
|
||||
#define PTHREAD_MUTEX_INITIALIZER /* = DEFAULTMUTEX */ \
|
||||
{{0, 0, 0, DEFAULT_TYPE, _MUTEX_MAGIC}, {{{0}}}, {0}}
|
||||
#endif
|
||||
#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
|
||||
#define PTHREAD_COND_INITIALIZER /* = DEFAULTCV */ \
|
||||
{{{0, 0, 0, 0}, DEFAULT_TYPE, _COND_MAGIC}, 0}
|
||||
#else
|
||||
#define PTHREAD_COND_INITIALIZER /* = DEFAULTCV */ \
|
||||
{{{0, 0, 0, 0}, DEFAULT_TYPE, _COND_MAGIC}, {0}}
|
||||
#endif
|
||||
#endif /* SOLARIS_MUTEX_INIT_2_CHECK */
|
||||
|
||||
|
||||
#if defined( SOLARIS_ONCE_INIT_1_CHECK )
|
||||
#pragma ident "@(#)pthread.h 1.37 04/09/28 SMI"
|
||||
#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
|
||||
#define PTHREAD_ONCE_INIT {{0, 0, 0, PTHREAD_ONCE_NOTDONE}}
|
||||
#else
|
||||
#define PTHREAD_ONCE_INIT {{{0}, {0}, {0}, {PTHREAD_ONCE_NOTDONE}}}
|
||||
#endif
|
||||
#endif /* SOLARIS_ONCE_INIT_1_CHECK */
|
||||
|
||||
|
||||
#if defined( SOLARIS_ONCE_INIT_2_CHECK )
|
||||
#ident "@(#)pthread.h 1.26 98/04/12 SMI"
|
||||
#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
|
||||
#define PTHREAD_ONCE_INIT {{0, 0, 0, PTHREAD_ONCE_NOTDONE}}
|
||||
#else
|
||||
#define PTHREAD_ONCE_INIT {{{0}, {0}, {0}, {PTHREAD_ONCE_NOTDONE}}}
|
||||
#endif
|
||||
|
||||
#endif /* SOLARIS_ONCE_INIT_2_CHECK */
|
||||
|
||||
|
||||
#if defined( SOLARIS_RWLOCK_INIT_1_CHECK )
|
||||
#ident "@(#)pthread.h 1.26 98/04/12 SMI"
|
||||
#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
|
||||
|
@ -1,20 +0,0 @@
|
||||
/* DO NOT EDIT THIS FILE.
|
||||
|
||||
It has been auto-edited by fixincludes from:
|
||||
|
||||
"fixinc/tests/inc/sys/int_types.h"
|
||||
|
||||
This had to be done to correct non-standard usages in the
|
||||
original, manufacturer supplied header file. */
|
||||
|
||||
|
||||
|
||||
#if defined( SOLARIS_INT_TYPES_CHECK )
|
||||
#if (defined(_STDC_C99) || !defined(_STRICT_STDC) || defined(__GNUC__)) && !defined(_NO_LONGLONG)
|
||||
typedef long long int64_t;
|
||||
#endif
|
||||
|
||||
#if defined(_LP64) || ((defined(_STDC_C99) || !defined(_STRICT_STDC) || defined(__GNUC__)) && !defined(_NO_LONGLONG))
|
||||
typedef int64_t intmax_t;
|
||||
#endif
|
||||
#endif /* SOLARIS_INT_TYPES_CHECK */
|
@ -1,22 +0,0 @@
|
||||
/* DO NOT EDIT THIS FILE.
|
||||
|
||||
It has been auto-edited by fixincludes from:
|
||||
|
||||
"fixinc/tests/inc/sys/va_list.h"
|
||||
|
||||
This had to be done to correct non-standard usages in the
|
||||
original, manufacturer supplied header file. */
|
||||
|
||||
|
||||
|
||||
#if defined( SOLARIS_SYS_VA_LIST_CHECK )
|
||||
#ifdef __GNUC__
|
||||
typedef __builtin_va_list __va_list;
|
||||
#else
|
||||
#if defined(__STDC__) && !defined(__ia64)
|
||||
typedef void *__va_list;
|
||||
#else
|
||||
typedef char *__va_list;
|
||||
#endif
|
||||
#endif
|
||||
#endif /* SOLARIS_SYS_VA_LIST_CHECK */
|
@ -1,3 +1,26 @@
|
||||
2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
|
||||
(*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
|
||||
(*-*-solaris2*): Simplify.
|
||||
(i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
|
||||
(i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
|
||||
*-*-solaris2.9* handling.
|
||||
|
||||
* configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
|
||||
as bug.
|
||||
(gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
|
||||
(ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
|
||||
handling, simplify.
|
||||
(gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
|
||||
* configure: Regenerate.
|
||||
|
||||
* config/i386/sol2-9.h: Remove.
|
||||
|
||||
* doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
|
||||
(Specific, *-*-solaris2*): Mention Solaris 9 support removal.
|
||||
Remove Solaris 9 references.
|
||||
|
||||
2014-04-22 Vidya Praveen <vidyapraveen@arm.com>
|
||||
|
||||
* aarch64.md (float<GPI:mode><GPF:mode>2): Remove.
|
||||
|
@ -246,7 +246,6 @@ md_file=
|
||||
case ${target} in
|
||||
picochip-* \
|
||||
| score-* \
|
||||
| *-*-solaris2.9* \
|
||||
)
|
||||
if test "x$enable_obsolete" != xyes; then
|
||||
echo "*** Configuration ${target} is obsolete." >&2
|
||||
@ -287,8 +286,8 @@ case ${target} in
|
||||
| *-*-rtemsaout* \
|
||||
| *-*-rtemscoff* \
|
||||
| *-*-solaris2 \
|
||||
| *-*-solaris2.[0-8] \
|
||||
| *-*-solaris2.[0-8].* \
|
||||
| *-*-solaris2.[0-9] \
|
||||
| *-*-solaris2.[0-9].* \
|
||||
| *-*-sysv* \
|
||||
| vax-*-vms* \
|
||||
)
|
||||
@ -810,15 +809,8 @@ case ${target} in
|
||||
# i?86-*-solaris2* needs to insert headers between cpu default and
|
||||
# Solaris 2 specific ones.
|
||||
sol2_tm_file="dbxelf.h elfos.h ${cpu_type}/sysv4.h sol2.h ${cpu_type}/sol2.h"
|
||||
case ${target} in
|
||||
*-*-solaris2.1[0-9]*)
|
||||
sol2_tm_file="${sol2_tm_file} sol2-10.h"
|
||||
use_gcc_stdint=wrap
|
||||
;;
|
||||
*)
|
||||
use_gcc_stdint=provide
|
||||
;;
|
||||
esac
|
||||
sol2_tm_file="${sol2_tm_file} sol2-10.h"
|
||||
use_gcc_stdint=wrap
|
||||
if test x$gnu_ld = xyes; then
|
||||
tm_file="usegld.h ${tm_file}"
|
||||
fi
|
||||
@ -1526,42 +1518,27 @@ i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
|
||||
tm_file="${tm_file} i386/unix.h i386/att.h ${sol2_tm_file}"
|
||||
# Set default arch_32 to pentium4, tune_32 to generic like the other
|
||||
# i386 targets, although config.guess defaults to i386-pc-solaris2*.
|
||||
case ${target} in
|
||||
*-*-solaris2.9*)
|
||||
# Solaris 9/x86 cannot execute SSE/SSE2 instructions by default.
|
||||
with_arch_32=${with_arch_32:-pentiumpro}
|
||||
;;
|
||||
*)
|
||||
with_arch_32=${with_arch_32:-pentium4}
|
||||
;;
|
||||
esac
|
||||
with_arch_32=${with_arch_32:-pentium4}
|
||||
with_tune_32=${with_tune_32:-generic}
|
||||
case ${target} in
|
||||
*-*-solaris2.9*)
|
||||
tm_file="${tm_file} i386/sol2-9.h"
|
||||
;;
|
||||
*-*-solaris2.1[0-9]*)
|
||||
tm_file="${tm_file} i386/x86-64.h i386/sol2-bi.h sol2-bi.h"
|
||||
tm_defines="${tm_defines} TARGET_BI_ARCH=1"
|
||||
tmake_file="$tmake_file i386/t-sol2-64"
|
||||
need_64bit_isa=yes
|
||||
if test x$with_cpu = x; then
|
||||
if test x$with_cpu_64 = x; then
|
||||
with_cpu_64=generic
|
||||
fi
|
||||
else
|
||||
case " $x86_cpus $x86_archs $x86_64_archs " in
|
||||
*" $with_cpu "*)
|
||||
;;
|
||||
*)
|
||||
echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
|
||||
echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
tm_file="${tm_file} i386/x86-64.h i386/sol2-bi.h sol2-bi.h"
|
||||
tm_defines="${tm_defines} TARGET_BI_ARCH=1"
|
||||
tmake_file="$tmake_file i386/t-sol2-64"
|
||||
need_64bit_isa=yes
|
||||
if test x$with_cpu = x; then
|
||||
if test x$with_cpu_64 = x; then
|
||||
with_cpu_64=generic
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
else
|
||||
case " $x86_cpus $x86_archs $x86_64_archs " in
|
||||
*" $with_cpu "*)
|
||||
;;
|
||||
*)
|
||||
echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
|
||||
echo "$x86_cpus $x86_archs $x86_64_archs" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
|
||||
tm_file="${tm_file} i386/unix.h i386/att.h elfos.h vx-common.h"
|
||||
|
@ -1,23 +0,0 @@
|
||||
/* Target definitions for GCC for Intel 80386 running Solaris 9
|
||||
Copyright (C) 2014 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
|
||||
GCC is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 3, or (at your option)
|
||||
any later version.
|
||||
|
||||
GCC is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GCC; see the file COPYING3. If not see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Solaris 9 only guarantees 4-byte stack alignment as required by the i386
|
||||
psABI, so realign it as necessary for SSE instructions. */
|
||||
#undef STACK_REALIGN_DEFAULT
|
||||
#define STACK_REALIGN_DEFAULT 1
|
74
gcc/configure
vendored
74
gcc/configure
vendored
@ -22191,35 +22191,7 @@ foobar:' > conftest.s
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; }
|
||||
then
|
||||
|
||||
# Solaris 9/x86 as incorrectly emits an alias for a hidden symbol with
|
||||
# STV_HIDDEN, so disable .hidden support if so.
|
||||
case "${target}" in
|
||||
i?86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
|
||||
if test x$gcc_cv_as != x && test x$gcc_cv_objdump != x; then
|
||||
cat > conftest.s <<EOF
|
||||
.globl hidden
|
||||
.hidden hidden
|
||||
hidden:
|
||||
.globl default
|
||||
.set default,hidden
|
||||
EOF
|
||||
if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1 \
|
||||
&& $gcc_cv_objdump -t conftest.o 2>/dev/null | \
|
||||
grep '\.hidden default' > /dev/null; then
|
||||
gcc_cv_as_hidden=no
|
||||
else
|
||||
gcc_cv_as_hidden=yes
|
||||
fi
|
||||
else
|
||||
# Assume bug is present if objdump is missing.
|
||||
gcc_cv_as_hidden=no
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
gcc_cv_as_hidden=yes
|
||||
;;
|
||||
esac
|
||||
gcc_cv_as_hidden=yes
|
||||
else
|
||||
echo "configure: failed program was" >&5
|
||||
cat conftest.s >&5
|
||||
@ -22352,7 +22324,7 @@ else
|
||||
hppa64*-*-hpux* | ia64*-*-hpux*)
|
||||
gcc_cv_ld_hidden=yes
|
||||
;;
|
||||
*-*-solaris2.9* | *-*-solaris2.1[0-9]*)
|
||||
*-*-solaris2.1[0-9]*)
|
||||
# Support for .hidden in Sun ld appeared in Solaris 9 FCS, but
|
||||
# .symbolic was only added in Solaris 9 12/02.
|
||||
gcc_cv_ld_hidden=yes
|
||||
@ -23739,34 +23711,7 @@ case "$target" in
|
||||
# TLS on x86 was only introduced in Solaris 9 4/04, replacing the earlier
|
||||
# Sun style that Sun ld and GCC don't support any longer.
|
||||
*-*-solaris2.*)
|
||||
{ $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; }
|
||||
ld_tls_support=no
|
||||
# Check ld and ld.so.1 TLS support.
|
||||
if echo "$ld_ver" | grep GNU > /dev/null; then
|
||||
# Assume all interesting versions of GNU ld have TLS support.
|
||||
# FIXME: still need ld.so.1 support, i.e. ld version checks below.
|
||||
ld_tls_support=yes
|
||||
else
|
||||
case "$target" in
|
||||
# Solaris 9/x86 ld has GNU style TLS support since version 1.374.
|
||||
i?86-*-solaris2.9)
|
||||
min_tls_ld_vers_minor=374
|
||||
;;
|
||||
# Solaris 9/SPARC and Solaris 10+ ld have TLS support since FCS.
|
||||
sparc*-*-solaris2.9 | *-*-solaris2.1[0-9]*)
|
||||
min_tls_ld_vers_minor=343
|
||||
;;
|
||||
esac
|
||||
if test "$ld_vers_major" -gt 1 || \
|
||||
test "$ld_vers_minor" -ge "$min_tls_ld_vers_minor"; then
|
||||
ld_tls_support=yes
|
||||
else
|
||||
set_have_as_tls=no
|
||||
fi
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_tls_support" >&5
|
||||
$as_echo "$ld_tls_support" >&6; }
|
||||
ld_tls_support=yes
|
||||
|
||||
save_LIBS="$LIBS"
|
||||
save_LDFLAGS="$LDFLAGS"
|
||||
@ -26568,18 +26513,7 @@ fi
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; }
|
||||
then
|
||||
# The native Solaris 9/Intel assembler doesn't understand --gstabs
|
||||
# and warns about it, but still exits successfully. So check for
|
||||
# this.
|
||||
if { ac_try='$gcc_cv_as --gstabs -o conftest.o conftest.s 2>&1 | grep -i warning > /dev/null'
|
||||
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; }
|
||||
then :
|
||||
else gcc_cv_as_gstabs_flag=yes
|
||||
fi
|
||||
gcc_cv_as_gstabs_flag=yes
|
||||
else
|
||||
echo "configure: failed program was" >&5
|
||||
cat conftest.s >&5
|
||||
|
@ -2316,35 +2316,7 @@ gcc_GAS_CHECK_FEATURE([.nsubspa comdat], gcc_cv_as_nsubspa_comdat,
|
||||
gcc_GAS_CHECK_FEATURE([.hidden], gcc_cv_as_hidden,
|
||||
[elf,2,13,0],,
|
||||
[ .hidden foobar
|
||||
foobar:],[
|
||||
# Solaris 9/x86 as incorrectly emits an alias for a hidden symbol with
|
||||
# STV_HIDDEN, so disable .hidden support if so.
|
||||
case "${target}" in
|
||||
i?86-*-solaris2* | x86_64-*-solaris2.1[[0-9]]*)
|
||||
if test x$gcc_cv_as != x && test x$gcc_cv_objdump != x; then
|
||||
cat > conftest.s <<EOF
|
||||
.globl hidden
|
||||
.hidden hidden
|
||||
hidden:
|
||||
.globl default
|
||||
.set default,hidden
|
||||
EOF
|
||||
if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1 \
|
||||
&& $gcc_cv_objdump -t conftest.o 2>/dev/null | \
|
||||
grep '\.hidden default' > /dev/null; then
|
||||
gcc_cv_as_hidden=no
|
||||
else
|
||||
gcc_cv_as_hidden=yes
|
||||
fi
|
||||
else
|
||||
# Assume bug is present if objdump is missing.
|
||||
gcc_cv_as_hidden=no
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
gcc_cv_as_hidden=yes
|
||||
;;
|
||||
esac])
|
||||
foobar:])
|
||||
case "${target}" in
|
||||
*-*-darwin*)
|
||||
# Darwin as has some visibility support, though with a different syntax.
|
||||
@ -2460,7 +2432,7 @@ else
|
||||
hppa64*-*-hpux* | ia64*-*-hpux*)
|
||||
gcc_cv_ld_hidden=yes
|
||||
;;
|
||||
*-*-solaris2.9* | *-*-solaris2.1[0-9]*)
|
||||
*-*-solaris2.1[0-9]*)
|
||||
# Support for .hidden in Sun ld appeared in Solaris 9 FCS, but
|
||||
# .symbolic was only added in Solaris 9 12/02.
|
||||
gcc_cv_ld_hidden=yes
|
||||
@ -3341,32 +3313,7 @@ case "$target" in
|
||||
# TLS on x86 was only introduced in Solaris 9 4/04, replacing the earlier
|
||||
# Sun style that Sun ld and GCC don't support any longer.
|
||||
*-*-solaris2.*)
|
||||
AC_MSG_CHECKING(linker and ld.so.1 TLS support)
|
||||
ld_tls_support=no
|
||||
# Check ld and ld.so.1 TLS support.
|
||||
if echo "$ld_ver" | grep GNU > /dev/null; then
|
||||
# Assume all interesting versions of GNU ld have TLS support.
|
||||
# FIXME: still need ld.so.1 support, i.e. ld version checks below.
|
||||
ld_tls_support=yes
|
||||
else
|
||||
case "$target" in
|
||||
# Solaris 9/x86 ld has GNU style TLS support since version 1.374.
|
||||
i?86-*-solaris2.9)
|
||||
min_tls_ld_vers_minor=374
|
||||
;;
|
||||
# Solaris 9/SPARC and Solaris 10+ ld have TLS support since FCS.
|
||||
sparc*-*-solaris2.9 | *-*-solaris2.1[[0-9]]*)
|
||||
min_tls_ld_vers_minor=343
|
||||
;;
|
||||
esac
|
||||
if test "$ld_vers_major" -gt 1 || \
|
||||
test "$ld_vers_minor" -ge "$min_tls_ld_vers_minor"; then
|
||||
ld_tls_support=yes
|
||||
else
|
||||
set_have_as_tls=no
|
||||
fi
|
||||
fi
|
||||
AC_MSG_RESULT($ld_tls_support)
|
||||
ld_tls_support=yes
|
||||
|
||||
save_LIBS="$LIBS"
|
||||
save_LDFLAGS="$LDFLAGS"
|
||||
@ -4433,14 +4380,7 @@ if test x"$insn" != x; then
|
||||
|
||||
gcc_GAS_CHECK_FEATURE([--gstabs option],
|
||||
gcc_cv_as_gstabs_flag,
|
||||
[elf,2,11,0], [--gstabs], [$insn],
|
||||
[# The native Solaris 9/Intel assembler doesn't understand --gstabs
|
||||
# and warns about it, but still exits successfully. So check for
|
||||
# this.
|
||||
if AC_TRY_COMMAND([$gcc_cv_as --gstabs -o conftest.o conftest.s 2>&1 | grep -i warning > /dev/null])
|
||||
then :
|
||||
else gcc_cv_as_gstabs_flag=yes
|
||||
fi],
|
||||
[elf,2,11,0], [--gstabs], [$insn],,
|
||||
[AC_DEFINE(HAVE_AS_GSTABS_DEBUG_FLAG, 1,
|
||||
[Define if your assembler supports the --gstabs option.])])
|
||||
|
||||
|
@ -3110,8 +3110,6 @@ information have to.
|
||||
@item
|
||||
@uref{#ix86-x-linux,,i?86-*-linux*}
|
||||
@item
|
||||
@uref{#ix86-x-solaris289,,i?86-*-solaris2.9}
|
||||
@item
|
||||
@uref{#ix86-x-solaris210,,i?86-*-solaris2.10}
|
||||
@item
|
||||
@uref{#ia64-x-linux,,ia64-*-linux}
|
||||
@ -3673,27 +3671,6 @@ If you receive Signal 11 errors when building on GNU/Linux, then it is
|
||||
possible you have a hardware problem. Further information on this can be
|
||||
found on @uref{http://www.bitwizard.nl/sig11/,,www.bitwizard.nl}.
|
||||
|
||||
@html
|
||||
<hr />
|
||||
@end html
|
||||
@anchor{ix86-x-solaris29}
|
||||
@heading i?86-*-solaris2.9
|
||||
The Sun assembler in Solaris 9 has several bugs and limitations.
|
||||
While GCC works around them, several features are missing, so it is
|
||||
@c FIXME: which ones?
|
||||
recommended to use the GNU assembler instead. There is no bundled
|
||||
version, but the current version, from GNU binutils 2.22, is known to
|
||||
work.
|
||||
|
||||
Solaris@tie{}2/x86 doesn't support the execution of SSE/SSE2 instructions
|
||||
before Solaris@tie{}9 4/04, even if the CPU supports them. Programs will
|
||||
receive @code{SIGILL} if they try. The fix is available both in
|
||||
Solaris@tie{}9 Update@tie{}6 and kernel patch 112234-12 or newer. To
|
||||
avoid this problem,
|
||||
@option{-march} defaults to @samp{pentiumpro} on Solaris 9. If
|
||||
you have the patch installed, you can configure GCC with an appropriate
|
||||
@option{--with-arch} option, but need GNU @command{as} for SSE2 support.
|
||||
|
||||
@html
|
||||
<hr />
|
||||
@end html
|
||||
@ -4250,10 +4227,9 @@ supported as cross-compilation target only.
|
||||
@c alone is too unspecific and must be avoided.
|
||||
@anchor{x-x-solaris2}
|
||||
@heading *-*-solaris2*
|
||||
Support for Solaris 9 has been obsoleted in GCC 4.9, but can still be
|
||||
enabled by configuring with @option{--enable-obsolete}. Support will be
|
||||
removed in GCC 4.10. Support for Solaris 8 has removed in GCC 4.8.
|
||||
Support for Solaris 7 has been removed in GCC 4.6.
|
||||
Support for Solaris 9 has been removed in GCC 4.10. Support for Solaris
|
||||
8 has been removed in GCC 4.8. Support for Solaris 7 has been removed
|
||||
in GCC 4.6.
|
||||
|
||||
Sun does not ship a C compiler with Solaris 2 before Solaris 10, though
|
||||
you can download the Sun Studio compilers for free. In Solaris 10 and
|
||||
@ -4333,25 +4309,6 @@ program which is used only by the GCC testsuite driver. When the bug
|
||||
causes the @command{expect} program to miss anticipated output, extra
|
||||
testsuite failures appear.
|
||||
|
||||
There are patches for Solaris 9 (117171-11 or newer for
|
||||
SPARC, 117172-11 or newer for Intel) that address this problem.
|
||||
|
||||
Thread-local storage (TLS) is supported in Solaris@tie{}9, but requires
|
||||
some patches. The @samp{libthread} patches provide the
|
||||
@code{__tls_get_addr} (SPARC, 64-bit x86) resp.@ @code{___tls_get_addr}
|
||||
(32-bit x86) functions. On Solaris@tie{}9, the necessary support
|
||||
on SPARC is present since FCS, while 114432-05 or newer is required on
|
||||
Intel. Additionally, on Solaris@tie{}9/x86, patch 113986-02 or newer is
|
||||
required for the Sun @command{ld} and runtime linker (@command{ld.so.1})
|
||||
support, while Solaris@tie{}9/SPARC works since FCS. The linker
|
||||
patches must be installed even if GNU @command{ld} is used. Sun
|
||||
@command{as} in Solaris@tie{}9 doesn't support the necessary
|
||||
relocations, so GNU @command{as} must be used. The @command{configure}
|
||||
script checks for those prerequisites and automatically enables TLS
|
||||
support if they are met. Although those minimal patch versions should
|
||||
work, it is recommended to use the latest patch versions which include
|
||||
additional bug fixes.
|
||||
|
||||
@html
|
||||
<hr />
|
||||
@end html
|
||||
|
@ -1,3 +1,32 @@
|
||||
2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* gcc.c-torture/compile/pr28865.c: Remove dg-xfail-if.
|
||||
|
||||
* gcc.dg/c99-stdint-6.c: Remove dg-options for *-*-solaris2.9.
|
||||
* gcc.dg/lto/20090210_0.c: Remove dg-extra-ld-options for
|
||||
*-*-solaris2.9.
|
||||
* gcc.dg/torture/pr47917.c: Remove dg-options for *-*-solaris2.9.
|
||||
* gcc.target/i386/pr22076.c: Remove i?86-*-solaris2.9 handling
|
||||
from dg-options.
|
||||
* gcc.target/i386/pr22152.c: Remove i?86-*-solaris2.9 handling
|
||||
from dg-additional-options.
|
||||
* gcc.target/i386/vect8-ret.c: Remove i?86-*-solaris2.9 handling
|
||||
from dg-options.
|
||||
|
||||
* gcc.dg/vect/tree-vect.h (check_vect): Remove Solaris 9 SSE2
|
||||
execution check.
|
||||
* gcc.target/i386/sse-os-support.h [__sun__ && __svr4__]
|
||||
(sigill_hdlr): Remove.
|
||||
(sse_os_support) [__sun__ && __svr4__]: Remove SSE execution
|
||||
check.
|
||||
|
||||
* gfortran.dg/erf_3.F90: Remove sparc*-*-solaris2.9* handling.
|
||||
* gfortran.dg/fmt_en.f90: Remove i?86-*-solaris2.9* handling.
|
||||
* gfortran.dg/round_4.f90: Remove *-*-solaris2.9* handling.
|
||||
|
||||
* lib/target-supports.exp (add_options_for_tls): Remove
|
||||
*-*-solaris2.9* handling.
|
||||
|
||||
2014-04-22 Vidya Praveen <vidyapraveen@arm.com>
|
||||
|
||||
* gcc.target/aarch64/vect_cvtf_1.c: New.
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* { dg-xfail-if "PR target/60602" { sparc*-*-solaris2.9* && { ! gas } } { "-O0" } } */
|
||||
|
||||
struct var_len
|
||||
{
|
||||
int field1;
|
||||
|
@ -2,7 +2,6 @@
|
||||
with any system <inttypes.h> header. */
|
||||
/* { dg-do compile { target inttypes_types } } */
|
||||
/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
|
||||
/* { dg-options "-std=gnu99 -pedantic-errors -DNO_FAST_TYPES" { target *-*-solaris2.9* } } */
|
||||
|
||||
#include <inttypes.h>
|
||||
#ifndef SIGNAL_SUPPRESS
|
||||
|
@ -2,7 +2,6 @@
|
||||
/* { dg-require-effective-target fpic } */
|
||||
/* { dg-suppress-ld-options {-fPIC} } */
|
||||
/* { dg-require-effective-target tls_runtime } */
|
||||
/* { dg-extra-ld-options "-pthread" { target *-*-solaris2.9 } } */
|
||||
int foo (int x)
|
||||
{
|
||||
return x;
|
||||
|
@ -1,6 +1,5 @@
|
||||
/* { dg-do run } */
|
||||
/* { dg-options "-std=c99" } */
|
||||
/* { dg-options "-std=c99 -D_XOPEN_SOURCE=500" { target *-*-solaris2.9 } } */
|
||||
/* { dg-options "-std=gnu99" { target *-*-hpux* } } */
|
||||
/* { dg-additional-options "-D__USE_MINGW_ANSI_STDIO=1" { target *-*-mingw* } } */
|
||||
/* { dg-xfail-run-if "no C99 snprintf function" { *-*-hpux10* } } */
|
||||
|
@ -41,11 +41,6 @@ check_vect (void)
|
||||
want_level = 1, want_c = bit_SSSE3, want_d = 0;
|
||||
# else
|
||||
want_level = 1, want_c = 0, want_d = bit_SSE2;
|
||||
# if defined(__sun__) && defined(__svr4__)
|
||||
/* Before Solaris 9 4/04, trying to execute an SSE2 instruction gives
|
||||
SIGILL even if the CPU can handle them. */
|
||||
asm volatile ("unpcklpd %xmm0,%xmm2");
|
||||
# endif
|
||||
# endif
|
||||
|
||||
if (!__get_cpuid (want_level, &a, &b, &c, &d)
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2 -fomit-frame-pointer -flax-vector-conversions -mmmx" } */
|
||||
/* { dg-options "-O2 -fomit-frame-pointer -flax-vector-conversions -mmmx -mno-vect8-ret-in-mem" { target i?86-*-solaris2.9 *-*-vxworks* } } */
|
||||
/* { dg-options "-O2 -fomit-frame-pointer -flax-vector-conversions -mmmx -mno-vect8-ret-in-mem" { target *-*-vxworks* } } */
|
||||
|
||||
#include <mmintrin.h>
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2 -msse2 -mtune=core2" } */
|
||||
/* { dg-additional-options "-mno-vect8-ret-in-mem" { target i?86-*-solaris2.9 *-*-vxworks* } } */
|
||||
/* { dg-additional-options "-mno-vect8-ret-in-mem" { target *-*-vxworks* } } */
|
||||
/* { dg-additional-options "-mabi=sysv" { target x86_64-*-mingw* } } */
|
||||
|
||||
#include <mmintrin.h>
|
||||
|
@ -1,55 +1,8 @@
|
||||
#if defined(__sun__) && defined(__svr4__)
|
||||
/* Make sure sigaction() is declared even with -std=c99. */
|
||||
#define __EXTENSIONS__
|
||||
#include <signal.h>
|
||||
#include <ucontext.h>
|
||||
|
||||
static volatile sig_atomic_t sigill_caught;
|
||||
|
||||
static void
|
||||
sigill_hdlr (int sig __attribute((unused)),
|
||||
siginfo_t *sip __attribute__((unused)),
|
||||
ucontext_t *ucp)
|
||||
{
|
||||
sigill_caught = 1;
|
||||
/* Set PC to the instruction after the faulting one to skip over it,
|
||||
otherwise we enter an infinite loop. */
|
||||
ucp->uc_mcontext.gregs[EIP] += 4;
|
||||
setcontext (ucp);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Check if the OS supports executing SSE instructions. This function is
|
||||
only used in sse-check.h, sse2-check.h, and sse3-check.h so far since
|
||||
Solaris 8 and 9 won't run on newer CPUs anyway. */
|
||||
/* Check if the OS supports executing SSE instructions. */
|
||||
|
||||
static int
|
||||
sse_os_support (void)
|
||||
{
|
||||
#if defined(__sun__) && defined(__svr4__)
|
||||
/* Solaris 2 before Solaris 9 4/04 cannot execute SSE instructions
|
||||
even if the CPU supports them. Programs receive SIGILL instead, so
|
||||
check for that at runtime. */
|
||||
|
||||
struct sigaction act, oact;
|
||||
|
||||
act.sa_handler = sigill_hdlr;
|
||||
sigemptyset (&act.sa_mask);
|
||||
/* Need to set SA_SIGINFO so a ucontext_t * is passed to the handler. */
|
||||
act.sa_flags = SA_SIGINFO;
|
||||
sigaction (SIGILL, &act, &oact);
|
||||
|
||||
/* We need a single SSE instruction here so the handler can safely skip
|
||||
over it. */
|
||||
__asm__ volatile ("movss %xmm2,%xmm1");
|
||||
|
||||
sigaction (SIGILL, &oact, NULL);
|
||||
|
||||
if (sigill_caught)
|
||||
exit (0);
|
||||
else
|
||||
return 1;
|
||||
#else
|
||||
/* All currently supported OSes do. */
|
||||
return 1;
|
||||
#endif /* __sun__ && __svr4__ */
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* { dg-do compile { target ia32 } } */
|
||||
/* { dg-options "-mmmx" { target i?86-*-solaris2.9 *-*-vxworks* } } */
|
||||
/* { dg-options "-mmmx" { target *-*-vxworks* } } */
|
||||
/* { dg-options "-mmmx -mvect8-ret-in-mem" } */
|
||||
|
||||
#include <mmintrin.h>
|
||||
|
@ -1,7 +1,7 @@
|
||||
! { dg-do run { xfail spu-*-* ia64-*-linux* } }
|
||||
! { dg-options "-fno-range-check -ffree-line-length-none -O0" }
|
||||
! { dg-add-options ieee }
|
||||
! { dg-skip-if "PR libfortran/59313" { sparc*-*-solaris2.9* hppa*-*-hpux* } }
|
||||
! { dg-skip-if "PR libfortran/59313" { hppa*-*-hpux* } }
|
||||
!
|
||||
! Check that simplification functions and runtime library agree on ERF,
|
||||
! ERFC and ERFC_SCALED, for quadruple-precision.
|
||||
|
@ -182,5 +182,5 @@ contains
|
||||
|
||||
end subroutine
|
||||
end program
|
||||
! { dg-final { scan-file fmt_en.res "All kinds rounded to nearest" { xfail { i?86-*-solaris2.9* hppa*-*-hpux* } } } }
|
||||
! { dg-final { scan-file fmt_en.res "All kinds rounded to nearest" { xfail hppa*-*-hpux* } } }
|
||||
! { dg-final { cleanup-saved-temps } }
|
||||
|
@ -1,6 +1,6 @@
|
||||
! { dg-do run }
|
||||
! { dg-add-options ieee }
|
||||
! { dg-skip-if "PR libfortran/58015" { *-*-solaris2.9* hppa*-*-hpux* } }
|
||||
! { dg-skip-if "PR libfortran/58015" { hppa*-*-hpux* } }
|
||||
!
|
||||
! PR fortran/35862
|
||||
!
|
||||
|
@ -593,7 +593,7 @@ proc add_options_for_tls { flags } {
|
||||
# libthread, so always pass -pthread for native TLS. Same for AIX.
|
||||
# Need to duplicate native TLS check from
|
||||
# check_effective_target_tls_native to avoid recursion.
|
||||
if { ([istarget *-*-solaris2.9*] || [istarget powerpc-ibm-aix*]) &&
|
||||
if { ([istarget powerpc-ibm-aix*]) &&
|
||||
[check_no_messages_and_pattern tls_native "!emutls" assembly {
|
||||
__thread int i;
|
||||
int f (void) { return i; }
|
||||
|
@ -1,3 +1,7 @@
|
||||
2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* lex.c: Remove Solaris 9 reference.
|
||||
|
||||
2014-02-24 Walter Lee <walt@tilera.com>
|
||||
|
||||
* configure.ac: Change "tilepro" triplet to "tilepro*".
|
||||
|
@ -263,11 +263,9 @@ 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 problem can be properly
|
||||
autoconfed:
|
||||
|
||||
The Solaris 9 assembler cannot assemble SSE4.2 insns.
|
||||
Before Solaris 9 Update 6, SSE insns cannot be executed.
|
||||
The Solaris 10+ assembler tags objects with the instruction set
|
||||
extensions used, so SSE4.2 executables cannot run on machines that
|
||||
don't support that extension. */
|
||||
|
@ -1,3 +1,14 @@
|
||||
2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* config/i386/crtfastmath.c (set_fast_math): Remove SSE execution
|
||||
check.
|
||||
* config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove
|
||||
Solaris 9 single-threaded support.
|
||||
* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove
|
||||
Solaris 9 single-threaded support. Add call_user_handler code
|
||||
sequences.
|
||||
(sparc_is_sighandler): Likewise.
|
||||
|
||||
2014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
||||
|
||||
* config.host: Append t-floattodi to tmake_file depending on
|
||||
|
@ -70,28 +70,6 @@ set_fast_math (void)
|
||||
{
|
||||
unsigned int mxcsr;
|
||||
|
||||
#if defined __sun__ && defined __svr4__
|
||||
/* Solaris 2 before Solaris 9 4/04 cannot execute SSE instructions even
|
||||
if the CPU supports them. Programs receive SIGILL instead, so check
|
||||
for that at runtime. */
|
||||
struct sigaction act, oact;
|
||||
|
||||
act.sa_handler = sigill_hdlr;
|
||||
sigemptyset (&act.sa_mask);
|
||||
/* Need to set SA_SIGINFO so a ucontext_t * is passed to the handler. */
|
||||
act.sa_flags = SA_SIGINFO;
|
||||
sigaction (SIGILL, &act, &oact);
|
||||
|
||||
/* We need a single SSE instruction here so the handler can safely skip
|
||||
over it. */
|
||||
__asm__ volatile ("movaps %xmm0,%xmm0");
|
||||
|
||||
sigaction (SIGILL, &oact, NULL);
|
||||
|
||||
if (sigill_caught)
|
||||
return;
|
||||
#endif /* __sun__ && __svr4__ */
|
||||
|
||||
if (edx & bit_FXSAVE)
|
||||
{
|
||||
/* Check if DAZ is available. */
|
||||
|
@ -144,26 +144,8 @@ x86_fallback_frame_state (struct _Unwind_Context *context,
|
||||
mcontext_t *mctx;
|
||||
long new_cfa;
|
||||
|
||||
if (/* Solaris 9 - single-threaded
|
||||
----------------------------
|
||||
<sigacthandler+16>: mov 0x244(%ebx),%ecx
|
||||
<sigacthandler+22>: mov 0x8(%ebp),%eax
|
||||
<sigacthandler+25>: mov (%ecx,%eax,4),%ecx
|
||||
<sigacthandler+28>: pushl 0x10(%ebp)
|
||||
<sigacthandler+31>: pushl 0xc(%ebp)
|
||||
<sigacthandler+34>: push %eax
|
||||
<sigacthandler+35>: call *%ecx
|
||||
<sigacthandler+37>: add $0xc,%esp <--- PC
|
||||
<sigacthandler+40>: pushl 0x10(%ebp) */
|
||||
(*(unsigned long *)(pc - 21) == 0x2448b8b
|
||||
&& *(unsigned long *)(pc - 17) == 0x458b0000
|
||||
&& *(unsigned long *)(pc - 13) == 0x810c8b08
|
||||
&& *(unsigned long *)(pc - 9) == 0xff1075ff
|
||||
&& *(unsigned long *)(pc - 5) == 0xff500c75
|
||||
&& *(unsigned long *)(pc - 1) == 0xcc483d1)
|
||||
|
||||
|| /* Solaris 9 - multi-threaded, Solaris 10
|
||||
---------------------------------------
|
||||
if (/* Solaris 10
|
||||
-----------
|
||||
<__sighndlr+0>: push %ebp
|
||||
<__sighndlr+1>: mov %esp,%ebp
|
||||
<__sighndlr+3>: pushl 0x10(%ebp)
|
||||
|
@ -36,44 +36,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
static int
|
||||
sparc64_is_sighandler (unsigned int *pc, void *cfa, int *nframes)
|
||||
{
|
||||
if (/* Solaris 9 - single-threaded
|
||||
----------------------------
|
||||
The pattern changes slightly in different versions of the
|
||||
operating system, so we skip the comparison against pc[-6] for
|
||||
Solaris 9.
|
||||
|
||||
<sigacthandler+24>: sra %i0, 0, %l1
|
||||
|
||||
Solaris 9 5/02:
|
||||
<sigacthandler+28>: ldx [ %o2 + 0xf68 ], %g5
|
||||
Solaris 9 9/05:
|
||||
<sigacthandler+28>: ldx [ %o2 + 0xe50 ], %g5
|
||||
|
||||
<sigacthandler+32>: sllx %l1, 3, %g4
|
||||
<sigacthandler+36>: mov %l1, %o0
|
||||
<sigacthandler+40>: ldx [ %g4 + %g5 ], %l0
|
||||
<sigacthandler+44>: call %l0
|
||||
<sigacthandler+48>: mov %i2, %o2
|
||||
<sigacthandler+52>: cmp %l1, 8 <--- PC */
|
||||
( pc[-7] == 0xa33e2000
|
||||
/* skip pc[-6] */
|
||||
&& pc[-5] == 0x892c7003
|
||||
&& pc[-4] == 0x90100011
|
||||
&& pc[-3] == 0xe0590005
|
||||
&& pc[-2] == 0x9fc40000
|
||||
&& pc[-1] == 0x9410001a
|
||||
&& pc[ 0] == 0x80a46008))
|
||||
{
|
||||
/* We need to move up one frame:
|
||||
|
||||
<signal handler> <-- context->cfa
|
||||
sigacthandler
|
||||
<kernel>
|
||||
*/
|
||||
*nframes = 1;
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (/* Solaris 8+ - multi-threaded
|
||||
----------------------------
|
||||
<__sighndlr>: save %sp, -176, %sp
|
||||
@ -101,19 +63,35 @@ sparc64_is_sighandler (unsigned int *pc, void *cfa, int *nframes)
|
||||
= *(unsigned int *)(*(unsigned long *)(cfa + 15*8) - 4);
|
||||
|
||||
if (cuh_pattern == 0x92100019)
|
||||
/* This matches the call_user_handler pattern for Solaris 11.
|
||||
This is the same setup as for Solaris 9, see below. */
|
||||
/* This matches the call_user_handler pattern in Solaris 11
|
||||
libc.so.1:
|
||||
|
||||
<call_user_handler+864>: mov %i1, %o1
|
||||
<call_user_handler+868>: call __sighndlr
|
||||
|
||||
This is the same setup as for Solaris 10, see below. */
|
||||
*nframes = 3;
|
||||
|
||||
else if (cuh_pattern == 0xd25fa7ef)
|
||||
{
|
||||
/* This matches the call_user_handler pattern for Solaris 10.
|
||||
/* This matches the call_user_handler pattern in Solaris 10
|
||||
libc.so.1:
|
||||
|
||||
<call_user_handler+988>: ldx [ %fp + 0x7ef ], %o1
|
||||
<call_user_handler+992>: call __sighndlr
|
||||
|
||||
There are 2 cases so we look for the return address of the
|
||||
caller's caller frame in order to do more pattern matching. */
|
||||
unsigned long sah_address = *(unsigned long *)(cfa + 176 + 15*8);
|
||||
|
||||
if (sah_address && *(unsigned int *)(sah_address - 4) == 0x92100019)
|
||||
/* This is the same setup as for Solaris 9, see below. */
|
||||
/* We need to move up three frames:
|
||||
|
||||
<signal handler> <-- context->cfa
|
||||
__sighndlr
|
||||
call_user_handler
|
||||
sigacthandler
|
||||
<kernel> */
|
||||
*nframes = 3;
|
||||
else
|
||||
/* The sigacthandler frame isn't present in the chain.
|
||||
@ -121,22 +99,19 @@ sparc64_is_sighandler (unsigned int *pc, void *cfa, int *nframes)
|
||||
|
||||
<signal handler> <-- context->cfa
|
||||
__sighndlr
|
||||
call_user_handler frame
|
||||
<kernel>
|
||||
*/
|
||||
call_user_handler
|
||||
<kernel> */
|
||||
*nframes = 2;
|
||||
}
|
||||
|
||||
else if (cuh_pattern == 0x9410001a || cuh_pattern == 0x94100013)
|
||||
/* This matches the call_user_handler pattern for Solaris 9.
|
||||
We need to move up three frames:
|
||||
else if (cuh_pattern == 0x9410001a || cuh_pattern == 0x9410001b)
|
||||
/* This matches the call_user_handler pattern in Solaris 9
|
||||
libthread.so.1:
|
||||
|
||||
<signal handler> <-- context->cfa
|
||||
__sighndlr
|
||||
call_user_handler
|
||||
sigacthandler
|
||||
<kernel>
|
||||
*/
|
||||
<call_user_handler+600>: mov %i2, %o2
|
||||
<call_user_handler+604>: call __sighndlr
|
||||
|
||||
This is the same setup as for Solaris 10, see above. */
|
||||
*nframes = 3;
|
||||
|
||||
return 1;
|
||||
@ -178,42 +153,6 @@ sparc64_frob_update_context (struct _Unwind_Context *context,
|
||||
static int
|
||||
sparc_is_sighandler (unsigned int *pc, void *cfa, int *nframes)
|
||||
{
|
||||
if (/* Solaris 9 - single-threaded
|
||||
----------------------------
|
||||
The pattern changes slightly in different versions of the operating
|
||||
system, so we skip the comparison against pc[-6].
|
||||
|
||||
<sigacthandler+16>: add %o1, %o7, %o3
|
||||
<sigacthandler+20>: mov %i1, %o1
|
||||
|
||||
<sigacthandler+24>: ld [ %o3 + <offset> ], %o2
|
||||
|
||||
<sigacthandler+28>: sll %i0, 2, %o0
|
||||
<sigacthandler+32>: ld [ %o0 + %o2 ], %l0
|
||||
<sigacthandler+36>: mov %i0, %o0
|
||||
<sigacthandler+40>: call %l0
|
||||
<sigacthandler+44>: mov %i2, %o2
|
||||
<sigacthandler+48>: cmp %i0, 8 <--- PC */
|
||||
pc[-8] == 0x9602400f
|
||||
&& pc[-7] == 0x92100019
|
||||
/* skip pc[-6] */
|
||||
&& pc[-5] == 0x912e2002
|
||||
&& pc[-4] == 0xe002000a
|
||||
&& pc[-3] == 0x90100018
|
||||
&& pc[-2] == 0x9fc40000
|
||||
&& pc[-1] == 0x9410001a
|
||||
&& pc[ 0] == 0x80a62008)
|
||||
{
|
||||
/* We need to move up one frame:
|
||||
|
||||
<signal handler> <-- context->cfa
|
||||
sigacthandler
|
||||
<kernel>
|
||||
*/
|
||||
*nframes = 1;
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(/* Solaris 8+ - multi-threaded
|
||||
----------------------------
|
||||
<__sighndlr>: save %sp, -96, %sp
|
||||
@ -241,19 +180,35 @@ sparc_is_sighandler (unsigned int *pc, void *cfa, int *nframes)
|
||||
= *(unsigned int *)(*(unsigned int *)(cfa + 15*4) - 4);
|
||||
|
||||
if (cuh_pattern == 0x92100019)
|
||||
/* This matches the call_user_handler pattern for Solaris 11.
|
||||
This is the same setup as for Solaris 9, see below. */
|
||||
/* This matches the call_user_handler pattern in Solaris 11
|
||||
libc.so.1:
|
||||
|
||||
<call_user_handler+876>: mov %i1, %o1
|
||||
<call_user_handler+880>: call __sighndlr
|
||||
|
||||
This is the same setup as for Solaris 10, see below. */
|
||||
*nframes = 3;
|
||||
|
||||
else if (cuh_pattern == 0xd407a04c)
|
||||
{
|
||||
/* This matches the call_user_handler pattern for Solaris 10.
|
||||
/* This matches the call_user_handler pattern in Solaris 10
|
||||
libc.so.1:
|
||||
|
||||
<call_user_handler+948>: ld [ %fp + 0x4c ], %o2
|
||||
<call_user_handler+952>: call __sighndlr
|
||||
|
||||
There are 2 cases so we look for the return address of the
|
||||
caller's caller frame in order to do more pattern matching. */
|
||||
unsigned int sah_address = *(unsigned int *)(cfa + 96 + 15*4);
|
||||
|
||||
if (sah_address && *(unsigned int *)(sah_address - 4) == 0x92100019)
|
||||
/* This is the same setup as for Solaris 9, see below. */
|
||||
/* We need to move up three frames:
|
||||
|
||||
<signal handler> <-- context->cfa
|
||||
__sighndlr
|
||||
call_user_handler
|
||||
sigacthandler
|
||||
<kernel> */
|
||||
*nframes = 3;
|
||||
else
|
||||
/* The sigacthandler frame isn't present in the chain.
|
||||
@ -261,22 +216,19 @@ sparc_is_sighandler (unsigned int *pc, void *cfa, int *nframes)
|
||||
|
||||
<signal handler> <-- context->cfa
|
||||
__sighndlr
|
||||
call_user_handler frame
|
||||
<kernel>
|
||||
*/
|
||||
call_user_handler
|
||||
<kernel> */
|
||||
*nframes = 2;
|
||||
}
|
||||
|
||||
else if (cuh_pattern == 0x9410001a || cuh_pattern == 0x9410001b)
|
||||
/* This matches the call_user_handler pattern for Solaris 9.
|
||||
We need to move up three frames:
|
||||
/* This matches the call_user_handler pattern in Solaris 9
|
||||
libthread.so.1:
|
||||
|
||||
<signal handler> <-- context->cfa
|
||||
__sighndlr
|
||||
call_user_handler
|
||||
sigacthandler
|
||||
<kernel>
|
||||
*/
|
||||
<call_user_handler+560>: mov %i2, %o2
|
||||
<call_user_handler+564>: call __sighndlr
|
||||
|
||||
This is the same setup as for Solaris 10, see above. */
|
||||
*nframes = 3;
|
||||
|
||||
return 1;
|
||||
|
@ -1,3 +1,8 @@
|
||||
2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* config/fpu-387.h [__sun__ && __svr4__]: Remove SSE execution
|
||||
check.
|
||||
|
||||
2014-04-11 Jerry DeLisle <jvdelisle@gcc.gnu>
|
||||
|
||||
PR libfortran/60810
|
||||
|
@ -27,26 +27,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
#include "cpuid.h"
|
||||
#endif
|
||||
|
||||
#if defined(__sun__) && defined(__svr4__)
|
||||
#include <signal.h>
|
||||
#include <ucontext.h>
|
||||
|
||||
static volatile sig_atomic_t sigill_caught;
|
||||
|
||||
static void
|
||||
sigill_hdlr (int sig __attribute((unused)),
|
||||
siginfo_t *sip __attribute__((unused)),
|
||||
ucontext_t *ucp)
|
||||
{
|
||||
sigill_caught = 1;
|
||||
/* Set PC to the instruction after the faulting one to skip over it,
|
||||
otherwise we enter an infinite loop. 3 is the size of the movaps
|
||||
instruction. */
|
||||
ucp->uc_mcontext.gregs[EIP] += 3;
|
||||
setcontext (ucp);
|
||||
}
|
||||
#endif
|
||||
|
||||
static int
|
||||
has_sse (void)
|
||||
{
|
||||
@ -56,32 +36,6 @@ has_sse (void)
|
||||
if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx))
|
||||
return 0;
|
||||
|
||||
#if defined(__sun__) && defined(__svr4__)
|
||||
/* Solaris 2 before Solaris 9 4/04 cannot execute SSE instructions even
|
||||
if the CPU supports them. Programs receive SIGILL instead, so check
|
||||
for that at runtime. */
|
||||
|
||||
if (edx & bit_SSE)
|
||||
{
|
||||
struct sigaction act, oact;
|
||||
|
||||
act.sa_handler = sigill_hdlr;
|
||||
sigemptyset (&act.sa_mask);
|
||||
/* Need to set SA_SIGINFO so a ucontext_t * is passed to the handler. */
|
||||
act.sa_flags = SA_SIGINFO;
|
||||
sigaction (SIGILL, &act, &oact);
|
||||
|
||||
/* We need a single SSE instruction here so the handler can safely skip
|
||||
over it. */
|
||||
__asm__ __volatile__ ("movaps\t%xmm0,%xmm0");
|
||||
|
||||
sigaction (SIGILL, &oact, NULL);
|
||||
|
||||
if (sigill_caught)
|
||||
return 0;
|
||||
}
|
||||
#endif /* __sun__ && __svr4__ */
|
||||
|
||||
return edx & bit_SSE;
|
||||
#else
|
||||
return 1;
|
||||
|
@ -1,3 +1,9 @@
|
||||
2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* configure.ac (THREADLIBS, THREADSPEC): Remove *-*-solaris2.9
|
||||
handling.
|
||||
* configure: Regenerate.
|
||||
|
||||
2014-03-12 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* include/dwarf2-signal.h: Update copyright year.
|
||||
|
5
libjava/configure
vendored
5
libjava/configure
vendored
@ -20772,11 +20772,6 @@ case "$THREADS" in
|
||||
THREADLIBS='-lpthread -lrt'
|
||||
THREADSPEC='-lpthread -lrt'
|
||||
;;
|
||||
*-*-solaris2.9)
|
||||
# Need libthread for TLS support.
|
||||
THREADLIBS='-lpthread -lthread'
|
||||
THREADSPEC='-lpthread -lthread'
|
||||
;;
|
||||
*-*-darwin*)
|
||||
# Don't set THREADLIBS or THREADSPEC as Darwin already
|
||||
# provides pthread via libSystem.
|
||||
|
@ -1088,11 +1088,6 @@ case "$THREADS" in
|
||||
THREADLIBS='-lpthread -lrt'
|
||||
THREADSPEC='-lpthread -lrt'
|
||||
;;
|
||||
*-*-solaris2.9)
|
||||
# Need libthread for TLS support.
|
||||
THREADLIBS='-lpthread -lthread'
|
||||
THREADSPEC='-lpthread -lthread'
|
||||
;;
|
||||
*-*-darwin*)
|
||||
# Don't set THREADLIBS or THREADSPEC as Darwin already
|
||||
# provides pthread via libSystem.
|
||||
|
@ -1,3 +1,28 @@
|
||||
2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* configure.host: Remove solaris2.9 handling.
|
||||
Change os_include_dir to os/solaris/solaris2.10.
|
||||
* acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
|
||||
* crossconfig.m4: Remove *-solaris2.9 handling, simplify.
|
||||
* configure: Regenerate.
|
||||
* config/abi/post/solaris2.9: Remove.
|
||||
* config/os/solaris/solaris2.9: Rename to ...
|
||||
* config/os/solaris/solaris2.10: ... this.
|
||||
* config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
|
||||
Remove.
|
||||
|
||||
* doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
|
||||
Remove Solaris 9 reference.
|
||||
* doc/html/manual/configure.html: Regenerate.
|
||||
|
||||
* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
|
||||
Remove *-*-solaris2.9 xfail.
|
||||
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
|
||||
Likewise.
|
||||
|
||||
* testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
|
||||
xfail.
|
||||
|
||||
2014-04-16 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/std/functional (__is_location_invariant): Use __or_ helper.
|
||||
|
@ -3523,25 +3523,7 @@ AC_DEFUN([GLIBCXX_CHECK_GTHREADS], [
|
||||
#ifndef __GTHREADS_CXX0X
|
||||
#error
|
||||
#endif
|
||||
], [case $target_os in
|
||||
# gthreads support breaks symbol versioning on Solaris 9 (PR
|
||||
# libstdc++/52189).
|
||||
solaris2.9*)
|
||||
if test x$enable_symvers = xno; then
|
||||
ac_has_gthreads=yes
|
||||
elif test x$enable_libstdcxx_threads = xyes; then
|
||||
AC_MSG_WARN([You have requested C++11 threads support, but])
|
||||
AC_MSG_WARN([this breaks symbol versioning.])
|
||||
ac_has_gthreads=yes
|
||||
else
|
||||
ac_has_gthreads=no
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
ac_has_gthreads=yes
|
||||
;;
|
||||
esac],
|
||||
[ac_has_gthreads=no])
|
||||
], [ac_has_gthreads=yes], [ac_has_gthreads=no])
|
||||
else
|
||||
ac_has_gthreads=no
|
||||
fi
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
// Specific definitions for Solaris 9+ -*- C++ -*-
|
||||
// Specific definitions for Solaris 10+ -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2000-2014 Free Software Foundation, Inc.
|
||||
//
|
||||
@ -35,10 +35,5 @@
|
||||
#define __CORRECT_ISO_CPP_WCHAR_H_PROTO
|
||||
#endif
|
||||
|
||||
/* Solaris 9 uses the non-standard CLOCK_HIGHRES instead. */
|
||||
#ifndef CLOCK_MONOTONIC
|
||||
#define CLOCK_MONOTONIC CLOCK_HIGHRES
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
47
libstdc++-v3/configure
vendored
47
libstdc++-v3/configure
vendored
@ -71038,8 +71038,6 @@ done
|
||||
|
||||
;;
|
||||
*-solaris*)
|
||||
case "$target" in
|
||||
*-solaris2.9 | *-solaris2.10)
|
||||
|
||||
# If we're not using GNU ld, then there's no point in even trying these
|
||||
# tests. Check for that first. We should have already tested for gld
|
||||
@ -71179,27 +71177,21 @@ $as_echo "$ac_ld_relro" >&6; }
|
||||
|
||||
|
||||
|
||||
$as_echo "#define HAVE_MBSTATE_T 1" >>confdefs.h
|
||||
$as_echo "#define HAVE_MBSTATE_T 1" >>confdefs.h
|
||||
|
||||
$as_echo "#define HAVE_FINITE 1" >>confdefs.h
|
||||
$as_echo "#define HAVE_FINITE 1" >>confdefs.h
|
||||
|
||||
$as_echo "#define HAVE_FPCLASS 1" >>confdefs.h
|
||||
$as_echo "#define HAVE_FPCLASS 1" >>confdefs.h
|
||||
|
||||
# All of the dependencies for wide character support are here, so
|
||||
# turn it on.
|
||||
$as_echo "#define _GLIBCXX_USE_WCHAR_T 1" >>confdefs.h
|
||||
# All of the dependencies for wide character support are here, so
|
||||
# turn it on.
|
||||
$as_echo "#define _GLIBCXX_USE_WCHAR_T 1" >>confdefs.h
|
||||
|
||||
;;
|
||||
esac
|
||||
case "$target" in
|
||||
*-*-solaris2.10)
|
||||
# These two C99 functions are present only in Solaris >= 10
|
||||
$as_echo "#define HAVE_STRTOF 1" >>confdefs.h
|
||||
# These two C99 functions are present only in Solaris >= 10
|
||||
$as_echo "#define HAVE_STRTOF 1" >>confdefs.h
|
||||
|
||||
$as_echo "#define HAVE_STRTOLD 1" >>confdefs.h
|
||||
$as_echo "#define HAVE_STRTOLD 1" >>confdefs.h
|
||||
|
||||
;;
|
||||
esac
|
||||
$as_echo "#define HAVE_ISNAN 1" >>confdefs.h
|
||||
|
||||
$as_echo "#define HAVE_ISNANF 1" >>confdefs.h
|
||||
@ -78671,26 +78663,7 @@ main ()
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_cxx_try_compile "$LINENO"; then :
|
||||
case $target_os in
|
||||
# gthreads support breaks symbol versioning on Solaris 9 (PR
|
||||
# libstdc++/52189).
|
||||
solaris2.9*)
|
||||
if test x$enable_symvers = xno; then
|
||||
ac_has_gthreads=yes
|
||||
elif test x$enable_libstdcxx_threads = xyes; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You have requested C++11 threads support, but" >&5
|
||||
$as_echo "$as_me: WARNING: You have requested C++11 threads support, but" >&2;}
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: this breaks symbol versioning." >&5
|
||||
$as_echo "$as_me: WARNING: this breaks symbol versioning." >&2;}
|
||||
ac_has_gthreads=yes
|
||||
else
|
||||
ac_has_gthreads=no
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
ac_has_gthreads=yes
|
||||
;;
|
||||
esac
|
||||
ac_has_gthreads=yes
|
||||
else
|
||||
ac_has_gthreads=no
|
||||
fi
|
||||
|
@ -301,11 +301,11 @@ case "${host_os}" in
|
||||
solaris2)
|
||||
# This too-vague configuration does not provide enough information
|
||||
# to select a ctype include, and thus os_include_dir is a crap shoot.
|
||||
echo "Please specify the full version of Solaris, ie. solaris2.9 " 1>&2
|
||||
echo "Please specify the full version of Solaris, ie. solaris2.10 " 1>&2
|
||||
exit 1
|
||||
;;
|
||||
solaris2.9 | solaris2.1[0-9])
|
||||
os_include_dir="os/solaris/solaris2.9"
|
||||
solaris2.1[0-9])
|
||||
os_include_dir="os/solaris/solaris2.10"
|
||||
;;
|
||||
tpf)
|
||||
os_include_dir="os/tpf"
|
||||
@ -356,10 +356,6 @@ case "${host}" in
|
||||
powerpc*-*-darwin*)
|
||||
port_specific_symbol_files="\$(srcdir)/../config/os/bsd/darwin/ppc-extra.ver"
|
||||
;;
|
||||
*-*-solaris2.9)
|
||||
abi_baseline_pair=solaris2.9
|
||||
abi_baseline_subdir_switch=--print-multi-os-directory
|
||||
;;
|
||||
*-*-solaris2.1[0-9])
|
||||
abi_baseline_pair=solaris2.10
|
||||
abi_baseline_subdir_switch=--print-multi-os-directory
|
||||
|
@ -205,24 +205,16 @@ case "${host}" in
|
||||
GLIBCXX_CHECK_STDLIB_SUPPORT
|
||||
;;
|
||||
*-solaris*)
|
||||
case "$target" in
|
||||
*-solaris2.9 | *-solaris2.10)
|
||||
GLIBCXX_CHECK_LINKER_FEATURES
|
||||
AC_DEFINE(HAVE_MBSTATE_T)
|
||||
AC_DEFINE(HAVE_FINITE)
|
||||
AC_DEFINE(HAVE_FPCLASS)
|
||||
# All of the dependencies for wide character support are here, so
|
||||
# turn it on.
|
||||
AC_DEFINE(_GLIBCXX_USE_WCHAR_T)
|
||||
;;
|
||||
esac
|
||||
case "$target" in
|
||||
*-*-solaris2.10)
|
||||
# These two C99 functions are present only in Solaris >= 10
|
||||
AC_DEFINE(HAVE_STRTOF)
|
||||
AC_DEFINE(HAVE_STRTOLD)
|
||||
;;
|
||||
esac
|
||||
GLIBCXX_CHECK_LINKER_FEATURES
|
||||
AC_DEFINE(HAVE_MBSTATE_T)
|
||||
AC_DEFINE(HAVE_FINITE)
|
||||
AC_DEFINE(HAVE_FPCLASS)
|
||||
# All of the dependencies for wide character support are here, so
|
||||
# turn it on.
|
||||
AC_DEFINE(_GLIBCXX_USE_WCHAR_T)
|
||||
# These two C99 functions are present only in Solaris >= 10
|
||||
AC_DEFINE(HAVE_STRTOF)
|
||||
AC_DEFINE(HAVE_STRTOLD)
|
||||
AC_DEFINE(HAVE_ISNAN)
|
||||
AC_DEFINE(HAVE_ISNANF)
|
||||
AC_DEFINE(HAVE_MODFF)
|
||||
|
@ -162,8 +162,7 @@
|
||||
|
||||
<varlistentry><term><code>--enable-libstdcxx-threads</code></term>
|
||||
<listitem><para>Enable C++11 threads support. If not explicitly specified,
|
||||
the configure process enables it if possible. It defaults to 'off'
|
||||
on Solaris 9, where it would break symbol versioning. This
|
||||
the configure process enables it if possible. This
|
||||
option can change the library ABI.
|
||||
</para>
|
||||
</listitem></varlistentry>
|
||||
|
@ -19,10 +19,7 @@
|
||||
|
||||
// 27.6.1.2.2 arithmetic extractors
|
||||
|
||||
// XXX This test fails on Solaris 9 because of a bug in libc
|
||||
// XXX sscanf for very long input. See:
|
||||
// XXX http://gcc.gnu.org/ml/gcc/2002-12/msg01422.html
|
||||
// { dg-do run { xfail { { *-*-solaris2.9 } || lax_strtofp } } }
|
||||
// { dg-do run { xfail { lax_strtofp } } }
|
||||
|
||||
#include <istream>
|
||||
#include <sstream>
|
||||
|
@ -17,10 +17,7 @@
|
||||
|
||||
// 27.6.1.2.2 arithmetic extractors
|
||||
|
||||
// XXX This test fails on Solaris 9 because of a bug in libc
|
||||
// XXX sscanf for very long input. See:
|
||||
// XXX http://gcc.gnu.org/ml/gcc/2002-12/msg01422.html
|
||||
// { dg-do run { xfail { { *-*-solaris2.9 } || lax_strtofp } } }
|
||||
// { dg-do run { xfail { lax_strtofp } } }
|
||||
|
||||
#include <istream>
|
||||
#include <sstream>
|
||||
|
@ -1,7 +1,7 @@
|
||||
// Before Solaris 11, iconv -f ISO-8859-1 -t ISO-8859-1 fails with
|
||||
// Not supported ISO-8859-1 to ISO-8859-1
|
||||
//
|
||||
// { dg-do run { xfail *-*-solaris2.9 *-*-solaris2.10 } }
|
||||
// { dg-do run { xfail *-*-solaris2.10 } }
|
||||
// { dg-require-iconv "ISO-8859-1" }
|
||||
|
||||
// Copyright (C) 2004-2014 Free Software Foundation, Inc.
|
||||
|
Loading…
Reference in New Issue
Block a user