diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index 62b0036cc..27782ba3c 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,20 @@
+2003-12-05  Christopher Faylor  <cgf@redhat.com>
+
+	* libc/stdlib/mbrlen.c: Change include order to prevent compiler errors
+	when defining _mbrtowc.
+	* libc/stdlib/mbsinit.c: Ditto.
+	* libc/stdlib/mbsrtowcs.c: Ditto.
+	* libc/stdlib/wcrtomb.c: Ditto.
+	* libc/stdlib/wcsrtombs.c: Ditto.
+	* libc/stdlib/wctob.c: Ditto.
+
+2003-12-05  Christopher Faylor  <cgf@redhat.com>
+
+	* libc/stdlib/mbrlen.c: Change include order to prevent compiler
+	errors when defining _mbrtowc.
+	* libc/stdlib/mbsinit.c: Ditto.
+	* libc/stdlib/mbsrtowcs.c: Ditto.
+
 2003-12-05  Christopher Faylor  <cgf@redhat.com>
 
 	* libc/stdlib/mbrtowc.c: Change include order to prevent compiler
diff --git a/newlib/libc/stdlib/mbrlen.c b/newlib/libc/stdlib/mbrlen.c
index 504348d38..cf14add86 100644
--- a/newlib/libc/stdlib/mbrlen.c
+++ b/newlib/libc/stdlib/mbrlen.c
@@ -1,7 +1,7 @@
+#include <reent.h>
 #include <wchar.h>
 #include <stdlib.h>
 #include <stdio.h>
-#include <reent.h>
 #include <errno.h>
 
 size_t
diff --git a/newlib/libc/stdlib/mbsinit.c b/newlib/libc/stdlib/mbsinit.c
index a353cb1c1..e32369ae1 100644
--- a/newlib/libc/stdlib/mbsinit.c
+++ b/newlib/libc/stdlib/mbsinit.c
@@ -1,7 +1,7 @@
+#include <reent.h>
 #include <wchar.h>
 #include <stdlib.h>
 #include <stdio.h>
-#include <reent.h>
 #include <errno.h>
 
 int
diff --git a/newlib/libc/stdlib/mbsrtowcs.c b/newlib/libc/stdlib/mbsrtowcs.c
index 08d9d0c18..10d3a72d4 100644
--- a/newlib/libc/stdlib/mbsrtowcs.c
+++ b/newlib/libc/stdlib/mbsrtowcs.c
@@ -1,7 +1,7 @@
+#include <reent.h>
 #include <wchar.h>
 #include <stdlib.h>
 #include <stdio.h>
-#include <reent.h>
 #include <errno.h>
 
 size_t
diff --git a/newlib/libc/stdlib/wcrtomb.c b/newlib/libc/stdlib/wcrtomb.c
index 0eb59ca94..fbd71b1e2 100644
--- a/newlib/libc/stdlib/wcrtomb.c
+++ b/newlib/libc/stdlib/wcrtomb.c
@@ -1,7 +1,7 @@
+#include <reent.h>
 #include <wchar.h>
 #include <stdlib.h>
 #include <stdio.h>
-#include <reent.h>
 #include <errno.h>
 
 size_t
diff --git a/newlib/libc/stdlib/wcsrtombs.c b/newlib/libc/stdlib/wcsrtombs.c
index 677dfa1db..11fdf9285 100644
--- a/newlib/libc/stdlib/wcsrtombs.c
+++ b/newlib/libc/stdlib/wcsrtombs.c
@@ -1,7 +1,7 @@
+#include <reent.h>
 #include <wchar.h>
 #include <stdlib.h>
 #include <stdio.h>
-#include <reent.h>
 #include <errno.h>
 
 size_t
diff --git a/newlib/libc/stdlib/wctob.c b/newlib/libc/stdlib/wctob.c
index 4288c54a8..57187b287 100644
--- a/newlib/libc/stdlib/wctob.c
+++ b/newlib/libc/stdlib/wctob.c
@@ -1,8 +1,7 @@
-#include <wchar.h>
+#include <reent.h>
 #include <wchar.h>
 #include <stdlib.h>
 #include <stdio.h>
-#include <reent.h>
 
 int
 wctob (wint_t c)
diff --git a/newlib/libm/mathfp/er_gamma.c b/newlib/libm/mathfp/er_gamma.c
index 63758bb43..0060ed031 100644
--- a/newlib/libm/mathfp/er_gamma.c
+++ b/newlib/libm/mathfp/er_gamma.c
@@ -30,3 +30,8 @@
 {
 	return exp (lgamma_r(x,signgamp));
 }
+
+double gamma(double x)
+{
+  return gamma_r(x, &(_REENT_SIGNGAM(_REENT)));
+}
diff --git a/newlib/libm/mathfp/er_lgamma.c b/newlib/libm/mathfp/er_lgamma.c
index 65d60026e..fd49c252e 100644
--- a/newlib/libm/mathfp/er_lgamma.c
+++ b/newlib/libm/mathfp/er_lgamma.c
@@ -422,3 +422,9 @@ static double zero=  0.00000000000000000000e+00;
 	if(hx<0) r = nadj - r;
 	return r;
 }
+
+double
+lgamma(double x)
+{
+  return lgamma_r(x, &(_REENT_SIGNGAM(_REENT)));
+}
diff --git a/newlib/libm/mathfp/erf_gamma.c b/newlib/libm/mathfp/erf_gamma.c
index 16be0d040..246645d25 100644
--- a/newlib/libm/mathfp/erf_gamma.c
+++ b/newlib/libm/mathfp/erf_gamma.c
@@ -16,7 +16,7 @@
 
 /* gammaf_r(x, signgamp)
  * Reentrant version of the logarithm of the Gamma function 
- * with user provide pointer for the sign of Gamma(x). 
+ * with user provided pointer for the sign of Gamma(x). 
  *
  * Method: See lgammaf_r
  */
@@ -32,3 +32,8 @@
 {
 	return expf (lgammaf_r(x,signgamp));
 }
+
+float gammaf(float x)
+{
+  return gammaf_r(x, &(_REENT_SIGNGAM(_REENT)));
+}
diff --git a/newlib/libm/mathfp/erf_lgamma.c b/newlib/libm/mathfp/erf_lgamma.c
index 64bec0aca..4f092147b 100644
--- a/newlib/libm/mathfp/erf_lgamma.c
+++ b/newlib/libm/mathfp/erf_lgamma.c
@@ -244,3 +244,8 @@ static float zero=  0.0000000000e+00;
 	if(hx<0) r = nadj - r;
 	return r;
 }
+
+float lgammaf(float x)
+{
+  return lgammaf_r(x, &(_REENT_SIGNGAM(_REENT)));
+}