diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index a83b9e491..1a1ca460d 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,9 @@
+2008-09-10  Ken Werner  <ken.werner@de.ibm.com>
+
+	* libc/machine/spu/strcpy.h: Add missing header.
+	* libc/machine/spu/spu_timer_slih.c: Remove unused Variable.
+	* libm/machine/spu/headers/lgammaf4.h: Add type cast.
+
 2008-09-08  Jeff Johnston  <jjohnstn@redhat.com>
 
 	* libc/sys/linux/dl/atomicity.h (exchange_and_add): Fix asm
diff --git a/newlib/libc/machine/spu/spu_timer_slih.c b/newlib/libc/machine/spu/spu_timer_slih.c
index 93cfa5ea2..8b54b1362 100644
--- a/newlib/libc/machine/spu/spu_timer_slih.c
+++ b/newlib/libc/machine/spu/spu_timer_slih.c
@@ -55,7 +55,7 @@ __reset_spu_decr (int val)
      value is the current timeout value minus the current decrementer value.
      Occasionally the read returns 0 - a second read will clear this
      condition.  */
-  int decval0 = spu_readch (SPU_RdDec);
+  spu_readch (SPU_RdDec);
   int decval = spu_readch (SPU_RdDec);
   /* Restart decrementer with next timeout val.  */
   __enable_spu_decr (enable_val, mask);
diff --git a/newlib/libc/machine/spu/strcpy.h b/newlib/libc/machine/spu/strcpy.h
index b407eaf5b..9040575ec 100644
--- a/newlib/libc/machine/spu/strcpy.h
+++ b/newlib/libc/machine/spu/strcpy.h
@@ -30,6 +30,7 @@
 
 #include <spu_intrinsics.h>
 #include "vec_literal.h"
+#include <string.h>
 
 /*
  * Supply an inline _strncpy for strcpy/cat and strncpy/cat. Relies on
diff --git a/newlib/libm/machine/spu/headers/lgammaf4.h b/newlib/libm/machine/spu/headers/lgammaf4.h
index 3142c7755..36aea5b16 100644
--- a/newlib/libm/machine/spu/headers/lgammaf4.h
+++ b/newlib/libm/machine/spu/headers/lgammaf4.h
@@ -426,7 +426,7 @@ static __inline vector float _lgammaf4(vector float x)
   vec_float4 xappr = spu_sub(xabs, xoffset);
 
   /* If in Stirling partition, do some setup before the madds */
-  xappr = spu_sel(xappr, inv_xsqu, gt_r7start);
+  xappr = spu_sel(xappr, inv_xsqu, (vector unsigned int)gt_r7start);
 
 
 
@@ -463,13 +463,13 @@ static __inline vector float _lgammaf4(vector float x)
    */
 
   /* Finish the Near 0 formula */
-  result = spu_sel(spu_sub(result, ln_x), result, gt_r1start);
+  result = spu_sel(spu_sub(result, ln_x), result, (vector unsigned int)gt_r1start);
 
   /* Finish Stirling's Approximation */
   vec_float4 resultstirling = spu_madd(spu_sub(xabs, spu_splats(0.5f)), ln_x, halflog2pi);
   resultstirling = spu_sub(resultstirling, xabs);
   resultstirling = spu_add(spu_mul(result,inv_x), resultstirling);
-  result = spu_sel(result, resultstirling, gt_r7start);
+  result = spu_sel(result, resultstirling, (vector unsigned int)gt_r7start);
 
 
   /* Adjust due to systematic truncation */