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:
Rainer Orth 2014-04-22 12:30:59 +00:00 committed by Rainer Orth
parent 0d35c5c270
commit d9f069ab4f
55 changed files with 270 additions and 8434 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

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

View File

@ -1,5 +1,3 @@
/* { dg-xfail-if "PR target/60602" { sparc*-*-solaris2.9* && { ! gas } } { "-O0" } } */
struct var_len
{
int field1;

View File

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

View File

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

View File

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

View File

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

View File

@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fomit-frame-pointer -flax-vector-conversions -mmmx" } */
/* { dg-options "-O2 -fomit-frame-pointer -flax-vector-conversions -mmmx -mno-vect8-ret-in-mem" { target i?86-*-solaris2.9 *-*-vxworks* } } */
/* { dg-options "-O2 -fomit-frame-pointer -flax-vector-conversions -mmmx -mno-vect8-ret-in-mem" { target *-*-vxworks* } } */
#include <mmintrin.h>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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