Index: BOOK/patches.ent
===================================================================
--- BOOK/patches.ent	(revision 70e937471f44dbb922be24b0046fadc6a899400a)
+++ BOOK/patches.ent	(revision 7f87fed26fac7d2b4a2afc80ca2e4e4d44658307)
@@ -35,7 +35,7 @@
 <!-- ARM Patches -->
 
-<!ENTITY gcc-uclibc-arm-softfloat-patch "gcc-&gcc-version;-uclibc-arm-softfloat-1.patch">
-<!ENTITY gcc-uclibc-arm-softfloat-patch-md5 "8a302850b814bbd75237eff65a23b9d1">
-<!ENTITY gcc-uclibc-arm-softfloat-patch-size "2 KB">
+<!ENTITY gcc-uclibc-arm-softfloat-patch "gcc-&gcc-version;-uclibc-arm-softfloat-2.patch">
+<!ENTITY gcc-uclibc-arm-softfloat-patch-md5 "365f3e9d4979fc31ef338907ee8f97dd">
+<!ENTITY gcc-uclibc-arm-softfloat-patch-size "3 KB">
 
 <!-- MIPS Patches -->
Index: tches/gcc-4.6.0-uclibc-arm-softfloat-1.patch
===================================================================
--- patches/gcc-4.6.0-uclibc-arm-softfloat-1.patch	(revision 70e937471f44dbb922be24b0046fadc6a899400a)
+++ 	(revision )
@@ -1,46 +1,0 @@
-Submitted By: Andrew Bradford <bradfa@gmail.com>
-Date: 2011-04-05
-Initial Package Version: 4.6.0
-Upstream Status: From Buildroot Team
-Origin: http://git.buildroot.net/buildroot/tree/toolchain/gcc/4.5.2/810-arm-softfloat-libgcc.patch
-Description: This patch configures GCC to produce the required asm functions
-             to enable soft floating point operation in libgcc for ARM systems
-             using uClibc.  GCC will use the file gcc/config/arm/ieee754-df.S
-             where these routines are stored.  This doesn't happen by default,
-             thus requiring this patch.
-
-             Modified from the Buildroot team's original as it wouldn't apply
-             cleanly to GCC-4.6.0.  Content is the same but with different
-             offsets.
-
-diff -Naur gcc-4.6.0.orig/gcc/config/arm/linux-elf.h gcc-4.6.0/gcc/config/arm/li
-nux-elf.h
---- gcc-4.6.0.orig/gcc/config/arm/linux-elf.h   2011-04-05 05:58:33.000000000 -0
-400
-+++ gcc-4.6.0/gcc/config/arm/linux-elf.h        2011-04-05 05:59:28.000000000 -0
-400
-@@ -60,7 +60,7 @@
-    %{shared:-lc} \
-    %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
- 
--#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
-+#define LIBGCC_SPEC "-lgcc"
- 
- #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
- 
-diff -Naur gcc-4.6.0.orig/gcc/config/arm/t-linux gcc-4.6.0/gcc/config/arm/t-linux
---- gcc-4.6.0.orig/gcc/config/arm/t-linux       2011-04-05 05:58:33.000000000 -0400
-+++ gcc-4.6.0/gcc/config/arm/t-linux    2011-04-05 06:03:12.000000000 -0400
-@@ -23,7 +23,11 @@
- 
- LIB1ASMSRC = arm/lib1funcs.asm
- LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
--       _arm_addsubdf3 _arm_addsubsf3
-+       _arm_addsubdf3 _arm_addsubsf3 \
-+       _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \
-+       _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \
-+       _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \
-+       _arm_fixsfsi _arm_fixunssfsi
- 
- # MULTILIB_OPTIONS = mhard-float/msoft-float
- # MULTILIB_DIRNAMES = hard-float soft-float
Index: patches/gcc-4.6.0-uclibc-arm-softfloat-2.patch
===================================================================
--- patches/gcc-4.6.0-uclibc-arm-softfloat-2.patch	(revision 7f87fed26fac7d2b4a2afc80ca2e4e4d44658307)
+++ patches/gcc-4.6.0-uclibc-arm-softfloat-2.patch	(revision 7f87fed26fac7d2b4a2afc80ca2e4e4d44658307)
@@ -0,0 +1,51 @@
+Submitted By: Andrew Bradford <bradfa@gmail.com>
+Date: 2011-04-12
+Initial Package Version: 4.6.0
+Upstream Status: Modified From Buildroot (uClibc) Team
+Origin: http://git.buildroot.net/buildroot/tree/toolchain/gcc/4.5.2/810-arm-softfloat-libgcc.patch
+Description: This patch configures GCC to produce the required asm functions
+             to enable soft floating point operation in libgcc for ARM systems
+             using uClibc.  GCC will use the file gcc/config/arm/ieee754-df.S
+             where these routines are stored.  This doesn't happen by default,
+             thus requiring this patch.
+
+             Modified from the Buildroot team's original as it wouldn't apply
+             cleanly to GCC-4.6.0.  Content is the same but with different
+             offsets.
+
+diff -Nar '--unified=5' gcc-4.6.0.orig/gcc/config/arm/linux-elf.h gcc-4.6.0/gcc/config/arm/linux-elf.h
+--- gcc-4.6.0.orig/gcc/config/arm/linux-elf.h	2011-04-12 05:59:31.000000000 -0400
++++ gcc-4.6.0/gcc/config/arm/linux-elf.h	2011-04-12 06:01:34.000000000 -0400
+@@ -58,11 +58,11 @@
+ #define LIB_SPEC \
+   "%{pthread:-lpthread} \
+    %{shared:-lc} \
+    %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
+ 
+-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
++#define LIBGCC_SPEC "-lgcc"
+ 
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+ 
+ #define LINUX_TARGET_LINK_SPEC  "%{h*} \
+    %{static:-Bstatic} \
+diff -Nar '--unified=5' gcc-4.6.0.orig/gcc/config/arm/t-linux gcc-4.6.0/gcc/config/arm/t-linux
+--- gcc-4.6.0.orig/gcc/config/arm/t-linux	2011-04-12 05:59:31.000000000 -0400
++++ gcc-4.6.0/gcc/config/arm/t-linux	2011-04-12 06:03:02.000000000 -0400
+@@ -21,11 +21,15 @@
+ # difference.
+ TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC
+ 
+ LIB1ASMSRC = arm/lib1funcs.asm
+ LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
+-	_arm_addsubdf3 _arm_addsubsf3
++	_arm_addsubdf3 _arm_addsubsf3 \
++	_arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \
++	_arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \
++	_arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \
++	_arm_fixsfsi _arm_fixunssfsi
+ 
+ # MULTILIB_OPTIONS = mhard-float/msoft-float
+ # MULTILIB_DIRNAMES = hard-float soft-float
+ 
+ # EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o
