From: jsm28 Date: Sat, 30 Jun 2007 22:01:30 +0000 (+0000) Subject: * configure.ac: Check for .gnu_attribute on MIPS. X-Git-Tag: upstream/4.9.2~47785 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0fd6d684a8b8fa74d463e7a9ad78f33842632aca;p=platform%2Fupstream%2Flinaro-gcc.git * configure.ac: Check for .gnu_attribute on MIPS. * configure, config.in: Regenerate. * config/mips/mips.c (mips_file_start): If supported, output attribute for floating-point ABI. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126157 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dc35a49..c8f71ee 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2007-06-30 Joseph Myers + + * configure.ac: Check for .gnu_attribute on MIPS. + * configure, config.in: Regenerate. + * config/mips/mips.c (mips_file_start): If supported, output + attribute for floating-point ABI. + 2007-06-30 Uros Bizjak PR target/32433 diff --git a/gcc/config.in b/gcc/config.in index 22f9685..e5faa7a 100644 --- a/gcc/config.in +++ b/gcc/config.in @@ -210,6 +210,12 @@ #endif +/* Define if your assembler supports .gnu_attribute. */ +#ifndef USED_FOR_TARGET +#undef HAVE_AS_GNU_ATTRIBUTE +#endif + + /* Define true if the assembler supports '.long foo@GOTOFF'. */ #ifndef USED_FOR_TARGET #undef HAVE_AS_GOTOFF_IN_DATA diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index a132f0f..a675499 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -6010,6 +6010,11 @@ mips_file_start (void) if (!TARGET_IRIX) { +#ifdef HAVE_AS_GNU_ATTRIBUTE + fprintf (asm_out_file, "\t.gnu_attribute 4, %d\n", + TARGET_HARD_FLOAT_ABI ? (TARGET_DOUBLE_FLOAT ? 1 : 2) : 3); +#endif + /* Generate a special section to describe the ABI switches used to produce the resultant binary. This used to be done by the assembler setting bits in the ELF header's flags field, but we have run out of diff --git a/gcc/configure b/gcc/configure index a5f9fe3..68f8ed6 100755 --- a/gcc/configure +++ b/gcc/configure @@ -15833,6 +15833,43 @@ cat >>confdefs.h <<\_ACEOF _ACEOF fi + + echo "$as_me:$LINENO: checking assembler for .gnu_attribute support" >&5 +echo $ECHO_N "checking assembler for .gnu_attribute support... $ECHO_C" >&6 +if test "${gcc_cv_as_mips_gnu_attribute+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gcc_cv_as_mips_gnu_attribute=no + if test $in_tree_gas = yes; then + if test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 18 \) \* 1000 + 0` + then gcc_cv_as_mips_gnu_attribute=yes +fi + elif test x$gcc_cv_as != x; then + echo '.gnu_attribute 4,1' > conftest.s + if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } + then + gcc_cv_as_mips_gnu_attribute=yes + else + echo "configure: failed program was" >&5 + cat conftest.s >&5 + fi + rm -f conftest.o conftest.s + fi +fi +echo "$as_me:$LINENO: result: $gcc_cv_as_mips_gnu_attribute" >&5 +echo "${ECHO_T}$gcc_cv_as_mips_gnu_attribute" >&6 +if test $gcc_cv_as_mips_gnu_attribute = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_AS_GNU_ATTRIBUTE 1 +_ACEOF + +fi ;; esac diff --git a/gcc/configure.ac b/gcc/configure.ac index 7a29b91..3e0f53a 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -2943,6 +2943,12 @@ LCF0: gcc_cv_as_mips_no_shared, [2,16,0], [-mno-shared], [nop],, [AC_DEFINE(HAVE_AS_NO_SHARED, 1, [Define if the assembler understands -mno-shared.])]) + + gcc_GAS_CHECK_FEATURE([.gnu_attribute support], + gcc_cv_as_mips_gnu_attribute, [2,18,0],, + [.gnu_attribute 4,1],, + [AC_DEFINE(HAVE_AS_GNU_ATTRIBUTE, 1, + [Define if your assembler supports .gnu_attribute.])]) ;; esac