diff mbox

[build] Use crtfastmath.c on IRIX 6

Message ID yddwrgzpap6.fsf@manam.CeBiTec.Uni-Bielefeld.DE
State New
Headers show

Commit Message

Rainer Orth June 6, 2011, 9:32 a.m. UTC
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  <ro@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.

Comments

Paolo Bonzini June 6, 2011, 9:45 a.m. UTC | #1
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<ro@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
diff mbox

Patch

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
-