On 06/06/2011 11:32 AM, Rainer Orth wrote:
On top of the IRIX 6 toplevel libgcc move, I noticed that IRIX doesn't
use crtfastmath.o yet.  This patch corrects this, bootstrapped without
regressions on mips-sgi-irix6.5.

While doing this, I noticed that libgcc/config/mips/t-crtfm is identical
(modulo $(cpu_type)) to the generic libgcc/config/t-crtfm, so I've
changed the other mips targets that used it, too.

Ok for mainline?

        Rainer


2011-05-21  Rainer Orth<r...@cebitec.uni-bielefeld.de>

        gcc:
        * config/mips/iris6.h (ENDFILE_SPEC): Use crtfastmath.o if
        -ffast-math etc.

        libgcc:
        * config.host (mips-sgi-irix6.5*): Add t-crtfm to tmake_file.
        Add crtfastmath.o to extra_parts.
        (mips64*-*-linux*, mips*-*-linux*): Use t-crtfm instead of
        mips/t-crtfm.
        * config/mips/t-crtfm: Remove.

diff --git a/gcc/config/mips/iris6.h b/gcc/config/mips/iris6.h
--- a/gcc/config/mips/iris6.h
+++ b/gcc/config/mips/iris6.h
@@ -256,7 +256,8 @@ along with GCC; see the file COPYING3.

  #undef ENDFILE_SPEC
  #define ENDFILE_SPEC \
-  "crtend.o%s irix-crtn.o%s \
+  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
+   crtend.o%s irix-crtn.o%s \
     %{!shared: \
       %{mabi=n32:%{mips4:/usr/lib32/mips4/crtn.o%s}\
         %{!mips4:/usr/lib32/mips3/crtn.o%s}}\
diff --git a/libgcc/config.host b/libgcc/config.host
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -438,19 +438,19 @@ microblaze*-*-*)
          tmake_file="microblaze/t-microblaze"
        ;;
  mips-sgi-irix6.5*)
-       tmake_file="mips/t-irix6 t-slibgcc mips/t-slibgcc-irix"
-       extra_parts="crtbegin.o crtend.o irix-crti.o irix-crtn.o"
+       tmake_file="mips/t-irix6 t-crtfm t-slibgcc mips/t-slibgcc-irix"
+       extra_parts="crtbegin.o crtend.o crtfastmath.o irix-crti.o irix-crtn.o"
        ;;
  mips*-*-netbsd*)                      # NetBSD/mips, either endian.
        ;;
  mips64*-*-linux*)
        extra_parts="$extra_parts crtfastmath.o"
-       tmake_file="{$tmake_file} mips/t-crtfm"
+       tmake_file="{$tmake_file} t-crtfm"
        md_unwind_header=mips/linux-unwind.h
        ;;
  mips*-*-linux*)                               # Linux MIPS, either endian.
        extra_parts="$extra_parts crtfastmath.o"
-       tmake_file="{$tmake_file} mips/t-crtfm"
+       tmake_file="{$tmake_file} t-crtfm"
        md_unwind_header=mips/linux-unwind.h
        ;;
  mips*-*-openbsd*)
diff --git a/libgcc/config/mips/t-crtfm b/libgcc/config/mips/t-crtfm
deleted file mode 100644
--- a/libgcc/config/mips/t-crtfm
+++ /dev/null
@@ -1,3 +0,0 @@
-crtfastmath.o: $(gcc_srcdir)/config/mips/crtfastmath.c
-       $(gcc_compile) -c $(gcc_srcdir)/config/mips/crtfastmath.c
-

Ok.

Paolo

Reply via email to