diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 589147c807ba970f0afee5ee6398c0bb875310e4..c9b1603fd347fb09e8daaa78f284354043044210 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-03-17  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+	PR target/14620
+	* config/rtems.h: Add STD_LIB_SPEC and LIB_SPEC.
+
 2004-03-17  Jakub Jelinek  <jakub@redhat.com>
 
 	* config/rs6000/t-linux64 (bispecs): Don't add -mlong-double-128 for
diff --git a/gcc/config/rtems.h b/gcc/config/rtems.h
index 9a284c5a155898bf101fa2bfbefca623ead31dbc..2656ff78b3aa0fff260d8f67fb6a8453e9582ac3 100644
--- a/gcc/config/rtems.h
+++ b/gcc/config/rtems.h
@@ -1,5 +1,5 @@
 /* Configuration common to all targets running RTEMS. 
-   Copyright (C) 2000, 2002 Free Software Foundation, Inc. 
+   Copyright (C) 2000, 2002, 2004 Free Software Foundation, Inc. 
 
 This file is part of GCC.
 
@@ -35,3 +35,15 @@ Boston, MA 02111-1307, USA.  */
 
 #undef ENDFILE_SPEC
 #define ENDFILE_SPEC   ""
+
+/*
+ * Some targets do not set up LIB_SPECS, override it, here.
+ */
+#define STD_LIB_SPEC "%{!shared:%{g*:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}}"
+
+#undef LIB_SPEC
+#define LIB_SPEC "%{!qrtems: " STD_LIB_SPEC "} " \
+"%{!nostdlib: %{qrtems: --start-group \
+ %{!qrtems_debug: -lrtemsbsp -lrtemscpu} \
+ %{qrtems_debug: -lrtemsbsp_g -lrtemscpu_g} \
+ -lc -lgcc --end-group %{!qnolinkcmds: -T linkcmds%s}}}"