Index: gcc-4.2.3/gcc/config/arm/linux-elf.h
===================================================================
--- gcc-4.2.3.orig/gcc/config/arm/linux-elf.h	2008-05-21 13:45:53.349289241 +0200
+++ gcc-4.2.3/gcc/config/arm/linux-elf.h	2008-05-21 13:46:02.426288993 +0200
@@ -62,7 +62,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"
 
Index: gcc-4.2.3/gcc/config/arm/t-linux
===================================================================
--- gcc-4.2.3.orig/gcc/config/arm/t-linux	2004-05-15 14:41:35.000000000 +0200
+++ gcc-4.2.3/gcc/config/arm/t-linux	2008-05-21 13:46:02.426288993 +0200
@@ -4,7 +4,10 @@
 LIBGCC2_DEBUG_CFLAGS = -g0
 
 LIB1ASMSRC = arm/lib1funcs.asm
-LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
+LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
+      _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
+      _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
+      _fixsfsi _fixunssfsi _floatdidf _floatundidf _floatdisf _floatundisf
 
 # MULTILIB_OPTIONS = mhard-float/msoft-float
 # MULTILIB_DIRNAMES = hard-float soft-float