From 05157f42835c68da84a4e13b3ce1e3ca4731dfaa Mon Sep 17 00:00:00 2001 From: ro Date: Wed, 19 May 2010 15:31:00 +0000 Subject: [PATCH] libgcc: * config/i386/32/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun assembler syntax. gcc: * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to pentiumpro on Solaris 8/x86 with Sun as. * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as hidden alias bug. (gcc_cv_as_ix86_quad): Check for .quad directive. * configure: Regenerate. * config.in: Regenerate. * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159569 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 11 +++++++ gcc/config.gcc | 14 ++++++++- gcc/config.in | 6 ++++ gcc/config/i386/sol2.h | 2 +- gcc/configure | 61 ++++++++++++++++++++++++++++++++++++- gcc/configure.ac | 36 +++++++++++++++++++++- libgcc/ChangeLog | 5 +++ libgcc/config/i386/32/sfp-machine.h | 4 +-- 8 files changed, 133 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c725ab9..35d39a0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2010-05-19 Rainer Orth + + * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to + pentiumpro on Solaris 8/x86 with Sun as. + * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as + hidden alias bug. + (gcc_cv_as_ix86_quad): Check for .quad directive. + * configure: Regenerate. + * config.in: Regenerate. + * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD. + 2010-05-19 Martin Jambor * ipa-prop.c (ipa_print_node_jump_functions): Print jump functions diff --git a/gcc/config.gcc b/gcc/config.gcc index 2c4d121..30c15ad 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1225,7 +1225,19 @@ i[34567]86-*-solaris2*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h sol2.h" # Set default arch_32 to pentium4, tune_32 to generic like the other # i386 targets, although config.guess defaults to i386-pc-solaris2*. - with_arch_32=${with_arch_32:-pentium4} + case ${target} in + *-*-solaris2.8*) + if test x$gas = xyes; then + with_arch_32=${with_arch_32:-pentium4} + else + # Solaris 8/x86 as cannot handle sse2. + with_arch_32=${with_arch_32:-pentiumpro} + fi + ;; + *) + with_arch_32=${with_arch_32:-pentium4} + ;; + esac with_tune_32=${with_tune_32:-generic} case ${target} in *-*-solaris2.1[0-9]*) diff --git a/gcc/config.in b/gcc/config.in index 64632e8..a1c117ab 100644 --- a/gcc/config.in +++ b/gcc/config.in @@ -315,6 +315,12 @@ #endif +/* Define if your assembler supports the .quad directive. */ +#ifndef USED_FOR_TARGET +#undef HAVE_AS_IX86_QUAD +#endif + + /* Define if your assembler supports the sahf mnemonic. */ #ifndef USED_FOR_TARGET #undef HAVE_AS_IX86_SAHF diff --git a/gcc/config/i386/sol2.h b/gcc/config/i386/sol2.h index cb663a1..6a01465 100644 --- a/gcc/config/i386/sol2.h +++ b/gcc/config/i386/sol2.h @@ -72,7 +72,7 @@ along with GCC; see the file COPYING3. If not see #define LOCAL_LABEL_PREFIX "." /* The 32-bit Solaris assembler does not support .quad. Do not use it. */ -#ifndef TARGET_BI_ARCH +#ifndef HAVE_AS_IX86_QUAD #undef ASM_QUAD #endif diff --git a/gcc/configure b/gcc/configure index 2384f42..82f6504 100755 --- a/gcc/configure +++ b/gcc/configure @@ -21258,7 +21258,35 @@ foobar:' > conftest.s $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; } then - gcc_cv_as_hidden=yes + +# 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*) + if test x$gcc_cv_as != x && test x$gcc_cv_objdump != x; then + cat > conftest.s <