aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/i386/cygwin.h4
-rw-r--r--gcc/config/i386/mingw32.h4
-rw-r--r--libgcc/ChangeLog9
-rw-r--r--libgcc/config.host8
-rw-r--r--libgcc/config/i386/t-crtfm5
6 files changed, 36 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ea23ee9..dfcd389 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2007-05-29 Zuxy Meng <zuxy.meng@gmail.com>
+ Danny Smith <dannysmith@users.sourceforge.net>
+
+ PR target/29498
+ * config/i386/t-crtfm: Compile crtfastmath.o with
+ -minline-all-stringops.
+ * config/i386/cygwin.h (ENDFILE_SPECS): Add crtfastmath.o.
+ * config/i386/mingw32.h (ENDFILE_SPECS): Add crtfastmath.o.
+
2007-05-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* doc/md.texi: Document constraints on HP PA-RISC.
diff --git a/gcc/config/i386/cygwin.h b/gcc/config/i386/cygwin.h
index fe85a6d..22e0af2 100644
--- a/gcc/config/i386/cygwin.h
+++ b/gcc/config/i386/cygwin.h
@@ -40,6 +40,10 @@ Boston, MA 02110-1301, USA. */
%{pg:gcrt0%O%s}}}\
"
+#undef ENDFILE_SPEC
+#define ENDFILE_SPEC \
+ "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}"
+
/* Normally, -lgcc is not needed since everything in it is in the DLL, but we
want to allow things to be added to it when installing new versions of
GCC without making a new CYGWIN.DLL, so we leave it. Profiling is handled
diff --git a/gcc/config/i386/mingw32.h b/gcc/config/i386/mingw32.h
index a39fbab..1145b13 100644
--- a/gcc/config/i386/mingw32.h
+++ b/gcc/config/i386/mingw32.h
@@ -86,6 +86,10 @@ Boston, MA 02110-1301, USA. */
#define STARTFILE_SPEC "%{shared|mdll:dllcrt2%O%s} \
%{!shared:%{!mdll:crt2%O%s}} %{pg:gcrt2%O%s}"
+#undef ENDFILE_SPEC
+#define ENDFILE_SPEC \
+ "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}"
+
/* Override startfile prefix defaults. */
#ifndef STANDARD_STARTFILE_PREFIX_1
#if TARGET_64BIT_DEFAULT
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 8baa49f..fdcdd2f 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,12 @@
+2007-05-29 Zuxy Meng <zuxy.meng@gmail.com>
+ Danny Smith <dannysmith@users.sourceforge.net>
+
+ PR target/29498
+ * config.host (i[34567]86-*-cygwin* | i[34567]86-*-mingw*) Add
+ crtfastmath.o to extra_parts. Add i386/t-crtfm to tmake_file.
+ * config/i386/t-crtfm: Compile crtfastmath.o with
+ -minline-all-stringops.
+
2007-05-10 Richard Sandiford <richard@codesourcery.com>
* config.host (sparc-wrs-vxworks): New target.
diff --git a/libgcc/config.host b/libgcc/config.host
index 4de74cf..3e0cb4790 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -367,9 +367,13 @@ i[34567]86-*-sysv4*) # Intel 80386's running system V.4
;;
i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
;;
-i[34567]86-*-pe | i[34567]86-*-cygwin*)
+i[34567]86-*-pe)
;;
-i[34567]86-*-mingw32* | x86_64-*-mingw*)
+i[34567]86-*-cygwin* | i[34567]86-*-mingw*)
+ extra_parts="crtfastmath.o"
+ tmake_file="i386/t-crtfm"
+ ;;
+x86_64-*-mingw*)
;;
i[34567]86-*-uwin*)
;;
diff --git a/libgcc/config/i386/t-crtfm b/libgcc/config/i386/t-crtfm
index fbe7d12..6e89296 100644
--- a/libgcc/config/i386/t-crtfm
+++ b/libgcc/config/i386/t-crtfm
@@ -1,2 +1,5 @@
+# This is an endfile, Use -minline-all-stringops to ensure
+# that __builtin_memset doesn't refer to the lib function memset().
crtfastmath.o: $(gcc_srcdir)/config/i386/crtfastmath.c
- $(gcc_compile) -msse -c $(gcc_srcdir)/config/i386/crtfastmath.c
+ $(gcc_compile) -msse -minline-all-stringops -c \
+ $(gcc_srcdir)/config/i386/crtfastmath.c