diff -Naur glibc-2.11.orig/sysdeps/powerpc/fpu/bits/fenvinline.h glibc-2.11/sysdeps/powerpc/fpu/bits/fenvinline.h
--- glibc-2.11.orig/sysdeps/powerpc/fpu/bits/fenvinline.h	2009-10-30 12:17:08.000000000 -0500
+++ glibc-2.11/sysdeps/powerpc/fpu/bits/fenvinline.h	2010-01-04 10:24:22.000000000 -0500
@@ -18,7 +18,7 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
-#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_MATH_INLINES
+#if defined __GNUC__ && !defined __NO_FPRS__ && !defined __NO_MATH_INLINES
 
 /* Inline definition for fegetround.  */
 # define fegetround() \
@@ -58,4 +58,4 @@
       : 0)								      \
    : (feclearexcept) (__excepts))
 
-#endif /* __GNUC__ && !_SOFT_FLOAT */
+#endif /* __GNUC__ && !__NO_FPRS__ */
diff -Naur glibc-2.11.orig/sysdeps/powerpc/fpu/bits/mathinline.h glibc-2.11/sysdeps/powerpc/fpu/bits/mathinline.h
--- glibc-2.11.orig/sysdeps/powerpc/fpu/bits/mathinline.h	2009-10-30 12:17:08.000000000 -0500
+++ glibc-2.11/sysdeps/powerpc/fpu/bits/mathinline.h	2010-01-04 10:24:22.000000000 -0500
@@ -28,7 +28,7 @@
 # define __MATH_INLINE __extern_inline
 #endif  /* __cplusplus */
 
-#if defined __GNUC__ && !defined _SOFT_FLOAT
+#if defined __GNUC__ && !defined __NO_FPRS__
 
 #ifdef __USE_ISOC99
 # if !__GNUC_PREREQ (2,97)
@@ -129,4 +129,4 @@
 
 #endif /* __USE_ISOC99 */
 #endif /* !__NO_MATH_INLINES && __OPTIMIZE__ */
-#endif /* __GNUC__ && !_SOFT_FLOAT */
+#endif /* __GNUC__ && !__NO_FPRS__ */
diff -Naur glibc-2.11.orig/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S glibc-2.11/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S
--- glibc-2.11.orig/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S	2009-10-30 12:17:08.000000000 -0500
+++ glibc-2.11/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S	2010-01-04 10:24:22.000000000 -0500
@@ -267,6 +267,11 @@
 2: /* L(no_vec): */
 # endif
 #endif
+
+#ifdef __CONTEXT_EXTRA
+#include <getcontext-extra.S>
+#endif
+
 /* We need to set up parms and call sigprocmask which will clobber
    volatile registers. So before the call we need to retrieve the
    original ucontext ptr (parm1) from stack and store the UC_REGS_PTR
diff -Naur glibc-2.11.orig/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S glibc-2.11/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S
--- glibc-2.11.orig/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S	2009-10-30 12:17:08.000000000 -0500
+++ glibc-2.11/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S	2010-01-04 10:24:22.000000000 -0500
@@ -249,6 +249,10 @@
 	lfd	fp31,_UC_FREGS+(31*8)(r31)
 #endif /* __CONTEXT_ENABLE_FPRS */
 
+#ifdef __CONTEXT_EXTRA
+#include <setcontext-extra.S>
+#endif
+
 	/* Restore LR and CCR, and set CTR to the NIP value */
 	lwz	r3,_UC_GREGS+(PT_LNK*4)(r31)
 	lwz	r4,_UC_GREGS+(PT_NIP*4)(r31)
diff -Naur glibc-2.11.orig/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S glibc-2.11/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S
--- glibc-2.11.orig/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S	2009-10-30 12:17:08.000000000 -0500
+++ glibc-2.11/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S	2010-01-04 10:24:22.000000000 -0500
@@ -271,6 +271,10 @@
 # endif /* __CONTEXT_ENABLE_VRS */
 #endif /* __CONTEXT_ENABLE_FPRS */
 
+#ifdef __CONTEXT_EXTRA
+#include <getcontext-extra.S>
+#endif
+
 /* Restore ucontext (parm1) from stack.  */
 	lwz	r12,_FRAME_PARM_SAVE1(r1)
 	li	r4,0
@@ -475,6 +479,10 @@
 	lfd	fp31,_UC_FREGS+(31*8)(r31)
 #endif /* __CONTEXT_ENABLE_FPRS */
 
+#ifdef __CONTEXT_EXTRA
+#include <setcontext-extra.S>
+#endif
+
 	/* Restore LR and CCR, and set CTR to the NIP value */
 	lwz	r3,_UC_GREGS+(PT_LNK*4)(r31)
 	lwz	r4,_UC_GREGS+(PT_NIP*4)(r31)
