diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dddc380c2c1bb6a6e376e68146852b2d20055463..af8ff6033ee136b88cb6cfe8f04312fac738288f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2002-07-24  Chris Demetriou  <cgd@broadcom.com>
+
+	* config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
+	* config/mips/elf64.h (STARTFILE_SPEC): Likewise.
+	* config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
+
 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
 
 	* toplev.c (rest_of_compilation): Dump loops before clobbering
diff --git a/gcc/config/mips/elf.h b/gcc/config/mips/elf.h
index 8e22e0bcd6afa66509d4026000175883263e2ed0..4bb2489cef27107bccfd4d940be81d7d69789663 100644
--- a/gcc/config/mips/elf.h
+++ b/gcc/config/mips/elf.h
@@ -263,8 +263,11 @@ void FN ()                                                            \
 #undef LIB_SPEC
 #define LIB_SPEC ""
 
+/* Don't link with crt0 files, let the linker start files specify
+   the appropriate crt0 file.  This is overridden by non-embedded
+   targets which wish to provide a crt0.o by default.  */
 #undef  STARTFILE_SPEC
-#define STARTFILE_SPEC "crti%O%s crtbegin%O%s %{!mno-crt0:crt0%O%s}"
+#define STARTFILE_SPEC "crti%O%s crtbegin%O%s"
 
 #undef  ENDFILE_SPEC
 #define ENDFILE_SPEC "crtend%O%s crtn%O%s"
diff --git a/gcc/config/mips/elf64.h b/gcc/config/mips/elf64.h
index 7aea6684a766386b437f672ecb3c5d68a50e1afb..e170dfa389818c0fe38f09e48cfb7bc7e1eaa72b 100644
--- a/gcc/config/mips/elf64.h
+++ b/gcc/config/mips/elf64.h
@@ -237,8 +237,11 @@ void FN ()                                                            \
 #undef LIB_SPEC
 #define LIB_SPEC ""
 
+/* Don't link with crt0 files, let the linker start files specify
+   the appropriate crt0 file.  This is overridden by non-embedded
+   targets which wish to provide a crt0.o by default.  */
 #undef  STARTFILE_SPEC
-#define STARTFILE_SPEC "crti%O%s crtbegin%O%s %{!mno-crt0:crt0%O%s}"
+#define STARTFILE_SPEC "crti%O%s crtbegin%O%s"
 
 #undef  ENDFILE_SPEC
 #define ENDFILE_SPEC "crtend%O%s crtn%O%s"
diff --git a/gcc/config/mips/isa3264.h b/gcc/config/mips/isa3264.h
index fc2b2894225b6c48f73f4c05eb7f379dd1329fbf..f71fdc1d4cfeb89c92420b6f73002436ea1d938c 100644
--- a/gcc/config/mips/isa3264.h
+++ b/gcc/config/mips/isa3264.h
@@ -36,10 +36,3 @@ Boston, MA 02111-1307, USA.  */
 #endif
 
 #include "mips/elf.h"
-
-#if MIPS_ABI_DEFAULT == ABI_MEABI
-/* For MEABI, don't link with crt0 files, let the linker start files specify
-   the appropriate crt0 file.  */
-#undef  STARTFILE_SPEC
-#define STARTFILE_SPEC "crti%O%s crtbegin%O%s %{!mno-crt0: }"
-#endif