Skip to content

Commit

Permalink
Remove obsolete Solaris 8 support
Browse files Browse the repository at this point in the history
	libstdc++-v3:
	* config/os/solaris/solaris2.8: Rename to ...
	* config/os/solaris/solaris2.9: ... this.
	* config/abi/post/solaris2.8: Rename to ...
	* config/abi/post/solaris2.9: ... this.
	* configure.host (os_include_dir): Remove solaris2.8.
	Reflect renaming.
	(abi_baseline_pair): Remove *-*-solaris2.8.
	Reflect renaming.

	* configure.ac (GLIBCXX_CHECK_MATH_PROTO): Remove
	(GLIBCXX_CHECK_STDLIB_PROTO): Remove.
	* acinclude.m4 (GLIBCXX_CHECK_MATH_PROTO): Remove
	(GLIBCXX_CHECK_STDLIB_PROTO): Remove.
	(GLIBCXX_CHECK_GTHREADS): Remove Solaris 8 handling.
	* crossconfig.m4 (GLIBCXX_CROSSCONFIG): Remove *-solaris2.8
	handling.
	* configure: Regenerate.
	* config.h.in: Regenerate.

	* config/os/solaris/solaris2.9/os_defines.h
	(__CORRECT_ISO_CPP_MATH_H_PROTO): Define.
	(__CORRECT_ISO_CPP_STDLIB_H_PROTO): Define.
	* include/c_global/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1
	to __CORRECT_ISO_CPP_MATH_H_PROTO.
	[!__CORRECT_ISO_CPP_MATH_H_PROTO2]: Remove.
	* include/tr1/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1 to
	__CORRECT_ISO_CPP_MATH_H_PROTO.

	* doc/xml/manual/configure.xml (Configure, --enable-libstdcxx-threads):
	Remove Solaris 8 reference.

	* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
	Don't xfail on *-*-solaris2.8.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
	Likewise.
	* testsuite/ext/enc_filebuf/char/13598.cc: Don't xfail on
	*-*-solaris2.8.

	libjava:
	* configure.ac (THREADLIBS): Remove *-*-solaris2.8 handling.
	* configure: Regenerate.

	libgcc:
	* config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove
	Solaris 8 handling.
	* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove
	Solaris 8 handling.
	(sparc_is_sighandler): Likewise.

	libcpp:
	* lex.c: Remove Solaris 8 reference.

	gcc/testsuite:
	* g++.dg/warn/miss-format-1.C: Remove *-*-solaris2.8 handling.
	* gcc.dg/c99-stdint-6.c: Likewise.
	* gcc.dg/lto/20090210_0.c: Likewise.
	* gcc.dg/pr28796-2.c: Don't skip on sparc*-sun-solaris2.8.
	* gcc.dg/pragma-init-fini.c: Don't skip on i?86-*-solaris2.8.
	* gcc.dg/pragma-init-fini-2.c: Likewise.
	* gcc.dg/torture/pr47917.c: Remove *-*-solaris2.8 handling.
	* gcc.target/i386/pr22076.c: Remove i?86-*-solaris2.8 handling.
	* gcc.target/i386/pr22152.c: Likewise.
	* gcc.target/i386/vect8-ret.c: Likewise.
	* lib/target-supports.exp (add_options_for_tls): Remove Solaris 8
	handling.

	gcc:
	* config.gcc (enable_obsolete): Remove *-*-solaris2.8*.
	(*-*-solaris2.[0-8], *-*-solaris2.[0-8].*): Mark unsupported.
	(i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*): Remove
	Solaris 8 support.
	* configure.ac (gcc_cv_ld_hidden): Remove *-*-solaris2.8*.
	(ld_tls_support): Remove Solaris 8 references.
	(lwp_dir, lwp_spec): Remove support for alternate thread library.
	* acinclude.m4 (gcc_cv_initfini_array): Remove *-*-solaris2.*
	tests.
	* configure: Regenerate.
	* config.in: Regenerate.

	* config/sol2.h (LINK_SPEC): Remove LIB_THREAD_LDFLAGS_SPEC.
	* config/i386/sol2.h: Remove Solaris 8 references.

	* doc/install.texi (Specific, i?86-*-solaris2.[89]): Rename to ...
	(i?86-*-solaris2.9): ... this.
	Remove Solaris 8 references.
	(Specific, *-*-solaris2*): Document Solaris 8 removal.
	Remove Solaris 8 references.

	fixincludes:
	* inclhack.def (math_exception): Remove duplicate.
	(solaris_cond_init): Remove.
	(solaris_sys_va_list): Remove Solaris 8 support.
	* fixincl.x: Regenerate.
	* tests/base/pthread.h [SOLARIS_COND_INIT_CHECK]: Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185392 138bc75d-0d04-0410-961f-82ee72b054a4
  • Loading branch information
ro committed Mar 14, 2012
1 parent c5204ca commit 264a5d1
Show file tree
Hide file tree
Showing 52 changed files with 245 additions and 732 deletions.
8 changes: 8 additions & 0 deletions fixincludes/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
2012-03-14 Rainer Orth <[email protected]>

* inclhack.def (math_exception): Remove duplicate.
(solaris_cond_init): Remove.
(solaris_sys_va_list): Remove Solaris 8 support.
* fixincl.x: Regenerate.
* tests/base/pthread.h [SOLARIS_COND_INIT_CHECK]: Remove.

2012-03-14 Rainer Orth <[email protected]>

* inclhack.def (broken_cabs): Remove IRIX and SunOS 4 support.
Expand Down
56 changes: 6 additions & 50 deletions fixincludes/fixincl.x
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
*
* DO NOT EDIT THIS FILE (fixincl.x)
*
* It has been AutoGen-ed Wednesday March 14, 2012 at 02:41:19 PM MET
* It has been AutoGen-ed Wednesday March 14, 2012 at 03:19:50 PM MET
* From the definitions inclhack.def
* and the template file fixincl
*/
/* DO NOT SVN-MERGE THIS FILE, EITHER Wed Mar 14 14:41:19 MET 2012
/* DO NOT SVN-MERGE THIS FILE, EITHER Wed Mar 14 15:19:50 MET 2012
*
* You must regenerate it. Use the ./genfixes script.
*
Expand All @@ -15,7 +15,7 @@
* certain ANSI-incompatible system header files which are fixed to work
* correctly with ANSI C and placed in a directory that GNU C will search.
*
* This file contains 212 fixup descriptions.
* This file contains 211 fixup descriptions.
*
* See README for more information.
*
Expand Down Expand Up @@ -5718,44 +5718,6 @@ extern \"C\" {\\\n\
#endif",
(char*)NULL };

/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Solaris_Cond_Init fix
*/
tSCC zSolaris_Cond_InitName[] =
"solaris_cond_init";

/*
* File name selection pattern
*/
tSCC zSolaris_Cond_InitList[] =
"pthread.h\0";
/*
* Machine/OS name selection pattern
*/
tSCC* apzSolaris_Cond_InitMachs[] = {
"*-*-solaris2.8",
(const char*)NULL };

/*
* content selection pattern - do fix if pattern found
*/
tSCC zSolaris_Cond_InitSelect0[] =
"@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";

#define SOLARIS_COND_INIT_TEST_CT 1
static tTestDesc aSolaris_Cond_InitTests[] = {
{ TT_EGREP, zSolaris_Cond_InitSelect0, (regex_t*)NULL }, };

/*
* Fix Command Arguments for Solaris_Cond_Init
*/
static const char* apzSolaris_Cond_InitPatch[] = {
"format",
"%1, 0x4356%2",
"^(#define[ \t]+PTHREAD_COND_INITIALIZER[ \t]+\\{.*0)(\\},[ \t]*0\\}.*)$",
(char*)NULL };

/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Solaris_Cxx_Linkage fix
Expand Down Expand Up @@ -6725,7 +6687,7 @@ tSCC zSolaris_Sys_Va_ListList[] =
* Machine/OS name selection pattern
*/
tSCC* apzSolaris_Sys_Va_ListMachs[] = {
"*-*-solaris2.[89]",
"*-*-solaris2.9",
(const char*)NULL };

/*
Expand Down Expand Up @@ -8630,9 +8592,9 @@ static const char* apzX11_SprintfPatch[] = {
*
* List of all fixes
*/
#define REGEX_COUNT 255
#define REGEX_COUNT 254
#define MACH_LIST_SIZE_LIMIT 181
#define FIX_COUNT 212
#define FIX_COUNT 211

/*
* Enumerate the fixes
Expand Down Expand Up @@ -8778,7 +8740,6 @@ typedef enum {
SOLARIS___RESTRICT_FIXIDX,
SOLARIS_COMPLEX_FIXIDX,
SOLARIS_COMPLEX_CXX_FIXIDX,
SOLARIS_COND_INIT_FIXIDX,
SOLARIS_CXX_LINKAGE_FIXIDX,
SOLARIS_GETC_STRICT_STDC_FIXIDX,
SOLARIS_LONGJMP_NORETURN_FIXIDX,
Expand Down Expand Up @@ -9553,11 +9514,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
SOLARIS_COMPLEX_CXX_TEST_CT, FD_MACH_ONLY,
aSolaris_Complex_CxxTests, apzSolaris_Complex_CxxPatch, 0 },

{ zSolaris_Cond_InitName, zSolaris_Cond_InitList,
apzSolaris_Cond_InitMachs,
SOLARIS_COND_INIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aSolaris_Cond_InitTests, apzSolaris_Cond_InitPatch, 0 },

{ zSolaris_Cxx_LinkageName, zSolaris_Cxx_LinkageList,
apzSolaris_Cxx_LinkageMachs,
SOLARIS_CXX_LINKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
Expand Down
26 changes: 3 additions & 23 deletions fixincludes/inclhack.def
Original file line number Diff line number Diff line change
Expand Up @@ -2382,7 +2382,7 @@ fix = {
files = math.h;
select = "struct exception";
/*
* This should be bypassed on __cplusplus, but some supposedly C++ C++
* This should be bypassed on __cplusplus, but some supposedly C++
* aware headers, such as Solaris 8 and 9, don't wrap their struct
* exception either. So currently we bypass only for glibc, based on a
* comment in the fixed glibc header. Ick.
Expand Down Expand Up @@ -2925,26 +2925,6 @@ fix = {
};


/*
* Solaris 8 PTHREAD_COND_INITIALIZER lacks the __pthread_cond_magic field.
* COND_MAGIC is only defined in <synch.h> and pollutes the namespace, so
* use the value literally instead.
*/
fix = {
hackname = solaris_cond_init;
select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
files = pthread.h;
mach = '*-*-solaris2.8';
c_fix = format;
c_fix_arg = "%1, 0x4356%2";
c_fix_arg = "^(#define[ \t]+PTHREAD_COND_INITIALIZER[ \t]+"
"\\{.*0)(\\},[ \t]*0\\}.*)$";
test_text =
'#pragma ident "@(#)pthread.h 1.29 01/07/07 SMI"'"\n"
'#define PTHREAD_COND_INITIALIZER {{{0}, 0}, 0} /* = DEFAULTCV */';
};


/*
* g++ rejects functions declared with both C and C++ linkage.
*/
Expand Down Expand Up @@ -3422,13 +3402,13 @@ fix = {


/*
* On Solaris 8 and 9, __va_list needs to become a typedef for
* On Solaris 9, __va_list needs to become a typedef for
* __builtin_va_list to make -Wmissing-format-attribute work.
*/
fix = {
hackname = solaris_sys_va_list;
files = sys/va_list.h;
mach = '*-*-solaris2.[89]';
mach = '*-*-solaris2.9';
select = "#if.*__STDC__.*\n"
"typedef void \\*__va_list;\n"
"#else\n"
Expand Down
10 changes: 0 additions & 10 deletions fixincludes/tests/base/pthread.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,16 +75,6 @@ extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask);
#endif /* PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_CHECK */


#if defined( SOLARIS_COND_INIT_CHECK )
#pragma ident "@(#)pthread.h 1.29 01/07/07 SMI"
#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
#define PTHREAD_COND_INITIALIZER {{{0}, 0, 0x4356}, 0} /* = DEFAULTCV */
#else
#define PTHREAD_COND_INITIALIZER {{{0}, 0, 0x4356}, {0}} /* = DEFAULTCV */
#endif
#endif /* SOLARIS_COND_INIT_CHECK */


#if defined( SOLARIS_MUTEX_INIT_2_CHECK )
#ident "@(#)pthread.h 1.26 98/04/12 SMI"
#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
Expand Down
23 changes: 23 additions & 0 deletions gcc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
2012-03-14 Rainer Orth <[email protected]>

* config.gcc (enable_obsolete): Remove *-*-solaris2.8*.
(*-*-solaris2.[0-8], *-*-solaris2.[0-8].*): Mark unsupported.
(i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*): Remove
Solaris 8 support.
* configure.ac (gcc_cv_ld_hidden): Remove *-*-solaris2.8*.
(ld_tls_support): Remove Solaris 8 references.
(lwp_dir, lwp_spec): Remove support for alternate thread library.
* acinclude.m4 (gcc_cv_initfini_array): Remove *-*-solaris2.*
tests.
* configure: Regenerate.
* config.in: Regenerate.

* config/sol2.h (LINK_SPEC): Remove LIB_THREAD_LDFLAGS_SPEC.
* config/i386/sol2.h: Remove Solaris 8 references.

* doc/install.texi (Specific, i?86-*-solaris2.[89]): Rename to ...
(i?86-*-solaris2.9): ... this.
Remove Solaris 8 references.
(Specific, *-*-solaris2*): Document Solaris 8 removal.
Remove Solaris 8 references.

2012-03-14 Rainer Orth <[email protected]>

* config.gcc (enable_obsolete): Remove mips-sgi-irix6.5.
Expand Down
18 changes: 1 addition & 17 deletions gcc/acinclude.m4
Original file line number Diff line number Diff line change
Expand Up @@ -461,23 +461,7 @@ changequote([,])dnl
# error The C library not known to support .init_array/.fini_array
# endif
#endif
])],[
case "${target}" in
*-*-solaris2.8*)
# .init_array/.fini_array support was introduced in Solaris 8
# patches 109147-08 (sparc) and 109148-08 (x86). Since ld.so.1 and
# ld are guaranteed to be updated in lockstep, we can check ld -V
# instead. Unfortunately, proper ld version numbers were only
# introduced in rev. -14, so we check for that.
if test "$gcc_cv_sun_ld_vers_minor" -lt 272; then
gcc_cv_initfini_array=no
fi
;;
*-*-solaris2.9* | *-*-solaris2.1[[0-9]]*)
# .init_array/.fini_array support is present since Solaris 9 FCS.
;;
esac
], [gcc_cv_initfini_array=no]);;
])],, [gcc_cv_initfini_array=no]);;
esac
else
AC_MSG_CHECKING(cross compile... guessing)
Expand Down
12 changes: 5 additions & 7 deletions gcc/config.gcc
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,6 @@ case ${target} in
| arm*-*-uclinux* \
| arm*-wince-pe* \
| score-* \
| *-*-solaris2.8* \
)
if test "x$enable_obsolete" != xyes; then
echo "*** Configuration ${target} is obsolete." >&2
Expand Down Expand Up @@ -282,9 +281,9 @@ case ${target} in
| *-*-rtemsaout* \
| *-*-rtemscoff* \
| *-*-solaris2 \
| *-*-solaris2.[0-7] \
| *-*-solaris2.[0-7].* \
| *-*-sysv* \
| *-*-solaris2.[0-8] \
| *-*-solaris2.[0-8].* \
| *-*-sysv* \
| vax-*-vms* \
)
echo "*** Configuration ${target} not supported" 1>&2
Expand Down Expand Up @@ -1321,9 +1320,8 @@ i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
# Set default arch_32 to pentium4, tune_32 to generic like the other
# i386 targets, although config.guess defaults to i386-pc-solaris2*.
case ${target} in
*-*-solaris2.[89]*)
# Solaris 8 and 9/x86 cannot execute SSE/SSE2 instructions by
# default.
*-*-solaris2.9*)
# Solaris 9/x86 cannot execute SSE/SSE2 instructions by default.
with_arch_32=${with_arch_32:-pentiumpro}
;;
*)
Expand Down
6 changes: 0 additions & 6 deletions gcc/config.in
Original file line number Diff line number Diff line change
Expand Up @@ -1606,12 +1606,6 @@
#endif


/* Define to the linker flags to use for -pthread. */
#ifndef USED_FOR_TARGET
#undef LIB_THREAD_LDFLAGS_SPEC
#endif


/* Define to the library containing __tls_get_addr/___tls_get_addr. */
#ifndef USED_FOR_TARGET
#undef LIB_TLS_SPEC
Expand Down
6 changes: 3 additions & 3 deletions gcc/config/i386/sol2.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* Target definitions for GCC for Intel 80386 running Solaris 2
Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
2004, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
2004, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Fred Fish ([email protected]).
This file is part of GCC.
Expand All @@ -21,7 +21,7 @@ along with GCC; see the file COPYING3. If not see

/* Augment i386/unix.h version to return 8-byte vectors in memory, matching
Sun Studio compilers until version 12, the only ones supported on
Solaris 8 and 9. */
Solaris 9. */
#undef TARGET_SUBTARGET_DEFAULT
#define TARGET_SUBTARGET_DEFAULT \
(MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_VECT8_RETURNS)
Expand Down Expand Up @@ -63,7 +63,7 @@ along with GCC; see the file COPYING3. If not see

#define ASM_CPU_SPEC ""

/* Don't include ASM_PIC_SPEC. While the Solaris 8 and 9 assembler accepts
/* Don't include ASM_PIC_SPEC. While the Solaris 9 assembler accepts
-K PIC, it gives many warnings:
R_386_32 relocation is used for symbol "<symbol>"
GNU as doesn't recognize -K at all. */
Expand Down
3 changes: 1 addition & 2 deletions gcc/config/sol2.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* Operating system specific defines to be used when targeting GCC for any
Solaris 2 system.
Copyright 2002, 2003, 2004, 2007, 2008, 2009, 2010, 2011
Copyright 2002, 2003, 2004, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
Expand Down Expand Up @@ -173,7 +173,6 @@ along with GCC; see the file COPYING3. If not see
%{static:-dn -Bstatic} \
%{shared:-G -dy %{!mimpure-text:-z text}} \
%{symbolic:-Bsymbolic -G -dy -z text} \
%{pthreads|pthread|fprofile-generate*:" LIB_THREAD_LDFLAGS_SPEC "} \
%(link_arch) \
%{Qy:} %{!Qn:-Qy}"

Expand Down
Loading

0 comments on commit 264a5d1

Please sign in to comment.