diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 2347b08957b..4d98be736e5 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,7 @@ +2014-04-22 Rainer Orth + + * config-list.mk (LIST): Remove sparc-sun-solaris2.9, i686-solaris2.9. + 2013-04-22 Jakub Jelinek * gennews (files): Add files for GCC 4.9. diff --git a/contrib/config-list.mk b/contrib/config-list.mk index 43454871da2..ddf24a286ef 100644 --- a/contrib/config-list.mk +++ b/contrib/config-list.mk @@ -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)) diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog index 9ba5ca9d94d..f7effee7893 100644 --- a/fixincludes/ChangeLog +++ b/fixincludes/ChangeLog @@ -1,3 +1,20 @@ +2014-04-22 Rainer Orth + + * 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 Makefile.in: Use $(FI) instead of fixincl@EXEEXT@. diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x index 10b4061f30a..dd458023531 100644 --- a/fixincludes/fixincl.x +++ b/fixincludes/fixincl.x @@ -1,12 +1,12 @@ /* -*- buffer-read-only: t -*- vi: set ro: - * + * * 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, diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def index 411300fb2e0..6a1136ce557 100644 --- a/fixincludes/inclhack.def +++ b/fixincludes/inclhack.def @@ -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, 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+ 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. */ diff --git a/fixincludes/tests/base/iso/setjmp_iso.h b/fixincludes/tests/base/iso/setjmp_iso.h deleted file mode 100644 index 4cf872007cf..00000000000 --- a/fixincludes/tests/base/iso/setjmp_iso.h +++ /dev/null @@ -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 */ diff --git a/fixincludes/tests/base/pthread.h b/fixincludes/tests/base/pthread.h index c39cd9472dd..5df290965a4 100644 --- a/fixincludes/tests/base/pthread.h +++ b/fixincludes/tests/base/pthread.h @@ -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) diff --git a/fixincludes/tests/base/sys/int_types.h b/fixincludes/tests/base/sys/int_types.h deleted file mode 100644 index 39bb68acd78..00000000000 --- a/fixincludes/tests/base/sys/int_types.h +++ /dev/null @@ -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 */ diff --git a/fixincludes/tests/base/sys/va_list.h b/fixincludes/tests/base/sys/va_list.h deleted file mode 100644 index 8c69e2d574b..00000000000 --- a/fixincludes/tests/base/sys/va_list.h +++ /dev/null @@ -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 */ diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 931f8a1eccb..a0220156d8e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,26 @@ +2014-04-22 Rainer Orth + + * 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 * aarch64.md (float2): Remove. diff --git a/gcc/config.gcc b/gcc/config.gcc index 3c55c88af4d..926b1b0758c 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -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" diff --git a/gcc/config/i386/sol2-9.h b/gcc/config/i386/sol2-9.h deleted file mode 100644 index 9ae88aae5dc..00000000000 --- a/gcc/config/i386/sol2-9.h +++ /dev/null @@ -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 -. */ - -/* 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 diff --git a/gcc/configure b/gcc/configure index bfb1525db69..fe6f31e77f9 100755 --- a/gcc/configure +++ b/gcc/configure @@ -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 <