diff -u -r gcc-4.0.2/gcc/config/arm/t-linux gcc-4.0.2/gcc/config/arm.new/t-linux
--- gcc-4.0.2/gcc/config/arm/t-linux	2005-10-18 22:04:44.000000000 +1000
+++ gcc-4.0.2/gcc/config/arm.new/t-linux	2005-10-18 22:05:03.000000000 +1000
@@ -4,7 +4,12 @@ TARGET_LIBGCC2_CFLAGS = -fomit-frame-poi
 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 _floatdisf \
+	_bb_init_func _call_via_rX _interwork_call_via_rX \
+	_lshrdi3 _ashrdi3 _ashldi3
 
 # MULTILIB_OPTIONS = mhard-float/msoft-float
 # MULTILIB_DIRNAMES = hard-float soft-float


--- gcc-4.1.1/gcc/config/arm/linux-elf.h	2007-01-06 11:17:51.000000000 +0000
+++ gcc-4.1.1/gcc/config/arm/linux-elf-soft.h	2007-01-06 11:22:01.000000000 +0000
@@ -49,7 +49,7 @@
    %{shared:-lc} \
    %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
 
-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
+/* #define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc" */
 
 #define LINUX_TARGET_INTERPRETER "/lib/ld-linux.so.2"
 
