diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index be249d8b7..e2791eacf 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,5 +1,18 @@
+2010-03-05  Craig Howland <howland@LGSInnovations.com>
+
+	* libm/math/ef_sqrt.c: Delete unused variable sign.
+	* libc/stdlib/getenv.c: Delete "char *_findenv_r ();", as is not a
+	proper prototype, and is properly prototyped in stdlib.h, anyway.
+	* libc/stdlib/getenv_r.c: Ditto.
+	* libc/search/hash.c: Add _DEFUN to __hash_open() declaration; add
+	#define __DBINTERFACE_PRIVATE to activate prototypes from db_local.h.
+	* libc/search/db_local.h: Correct __hash_open() prototype.
+	* libc/sys/linux/cmath/math_private.h:  Eliminate compiler warnings:
+	Remove #define INFINITY (redefines from math.h); remove #define __isnanf
+	and #define __isinff isinff.
+
 2010-03-02  Craig Howland <howland@LGSInnovations.com>
-       
+
 	* libc/include/sys/features.h:  Add POSIX.1-permitted definition of
 	_POSIX_C_SOURCE if not already defined and _XOPEN_SOURCE has an
 	appropriate value.  Specifically, check for POSIX.1-2008 & 2001 values.
diff --git a/newlib/libc/search/db_local.h b/newlib/libc/search/db_local.h
index 53f9d17ff..ec621fabf 100644
--- a/newlib/libc/search/db_local.h
+++ b/newlib/libc/search/db_local.h
@@ -210,7 +210,7 @@ DB *dbopen(const char *, int, int, DBTYPE, const void *);
 
 #ifdef __DBINTERFACE_PRIVATE
 DB	*__bt_open(const char *, int, int, const BTREEINFO *, int);
-DB	*__hash_open(const char *, int, int, const HASHINFO *, int);
+DB	*__hash_open(const char *, int, int, int, const HASHINFO *);
 DB	*__rec_open(const char *, int, int, const RECNOINFO *, int);
 void	 __dbpanic(DB *dbp);
 #endif
diff --git a/newlib/libc/search/hash.c b/newlib/libc/search/hash.c
index 8f56b6b9d..0301fc03f 100644
--- a/newlib/libc/search/hash.c
+++ b/newlib/libc/search/hash.c
@@ -53,6 +53,7 @@ static char sccsid[] = "@(#)hash.c	8.9 (Berkeley) 6/16/94";
 #include <assert.h>
 #endif
 
+#define __DBINTERFACE_PRIVATE	/* activate prototypes from db_local.h */
 #include "db_local.h"
 #include "hash.h"
 #include "page.h"
@@ -103,10 +104,12 @@ int hash_accesses, hash_collisions, hash_expansions, hash_overflows;
 /* OPEN/CLOSE */
 
 extern DB *
-__hash_open(file, flags, mode, info, dflags)
-	const char *file;
-	int flags, mode, dflags;
-	const HASHINFO *info;	/* Special directives for create */
+_DEFUN(__hash_open, (file, flags, mode, info, dflags),
+	const char *file _AND
+	int flags _AND
+	int mode _AND
+	int dflags _AND
+	const HASHINFO *info)	/* Special directives for create */
 {
 	HTAB *hashp;
 
diff --git a/newlib/libc/stdlib/getenv.c b/newlib/libc/stdlib/getenv.c
index 6e0151461..79360ac42 100644
--- a/newlib/libc/stdlib/getenv.c
+++ b/newlib/libc/stdlib/getenv.c
@@ -86,7 +86,6 @@ _DEFUN (getenv, (name),
 	_CONST char *name)
 {
   int offset;
-  char *_findenv_r ();
 
   return _findenv_r (_REENT, name, &offset);
 }
diff --git a/newlib/libc/stdlib/getenv_r.c b/newlib/libc/stdlib/getenv_r.c
index 272b097ad..cdc12c0a9 100644
--- a/newlib/libc/stdlib/getenv_r.c
+++ b/newlib/libc/stdlib/getenv_r.c
@@ -130,7 +130,6 @@ _DEFUN (_getenv_r, (reent_ptr, name),
 	_CONST char *name)
 {
   int offset;
-  char *_findenv_r ();
 
   return _findenv_r (reent_ptr, name, &offset);
 }
diff --git a/newlib/libc/sys/linux/cmath/math_private.h b/newlib/libc/sys/linux/cmath/math_private.h
index 148376c44..3e32b29ba 100644
--- a/newlib/libc/sys/linux/cmath/math_private.h
+++ b/newlib/libc/sys/linux/cmath/math_private.h
@@ -22,15 +22,11 @@
 #include <machine/weakalias.h>
 #include <machine/huge_val.h>
 
-#define INFINITY HUGE_VALF
-
 #define __nan nan
 #define __isnan isnan
 #define __isinf isinf
 #define __copysignf copysignf
 #define __copysign copysign
-#define __isnanf isnanf
-#define __isinff isinff
 #define __nanf nanf
 #define feraiseexcept(x) /* nothing */
 #define __sincos sincos
diff --git a/newlib/libm/math/ef_sqrt.c b/newlib/libm/math/ef_sqrt.c
index 17dab9311..80e7f360e 100644
--- a/newlib/libm/math/ef_sqrt.c
+++ b/newlib/libm/math/ef_sqrt.c
@@ -29,7 +29,6 @@ static	float	one	= 1.0, tiny=1.0e-30;
 #endif
 {
 	float z;
-	__int32_t 	sign = (__int32_t)0x80000000; 
 	__uint32_t r,hx;
 	__int32_t ix,s,q,m,t,i;