The last revision of gcc-3.4.4 patch file 100-uclibc-conf.patch builds file unwind-dw2-fde-glibc.c into libgcc (at least on mipsel-linux-uclibc and arm-linux-uclibc, but it should be the same on most architectures).
this is due to the simplification of the uclibc patch ... simplified a little too much :)
+--- gcc-3.4.1/gcc/config/t-linux-uclibc
++++ gcc-3.4.1/gcc/config/t-linux-uclibc
+@@ -0,0 +1,5 @@
++# Remove glibc specific files added in t-linux
++SHLIB_MAPFILES := $(filter-out $(srcdir)/config/libgcc-glibc.ver, $(SHLIB_MAPFILES))
++
++# Use unwind-dw2-fde instead of unwind-dw2-fde-glibc
++LIB2ADDEH := $(subst unwind-dw2-fde-glibc.c,unwind-dw2-fde.c,$(LIB2ADDEH))
--- gcc-3.4.1/gcc/config.gcc
+++ gcc-3.4.1/gcc/config.gcc
@@ -2310,10 +2310,16 @@
+# Rather than hook into each target, just do it after all the linux
+# targets have been processed
+case ${target} in
-+*-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC"
++*-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC" ; tmake_file="${tmake_file} t-linux-uclibc"
+esac
# Support for --with-cpu and related options (and a few unrelated options,
+--- gcc-3.4.1/gcc/config/t-linux-uclibc
++++ gcc-3.4.1/gcc/config/t-linux-uclibc
+@@ -0,0 +1,5 @@
++# Remove glibc specific files added in t-linux
++SHLIB_MAPFILES := $(filter-out $(srcdir)/config/libgcc-glibc.ver, $(SHLIB_MAPFILES))
++
++# Use unwind-dw2-fde instead of unwind-dw2-fde-glibc
++LIB2ADDEH := $(subst unwind-dw2-fde-glibc.c,unwind-dw2-fde.c,$(LIB2ADDEH))
--- gcc-3.4.1/gcc/config.gcc
+++ gcc-3.4.1/gcc/config.gcc
@@ -2310,10 +2310,16 @@
+# Rather than hook into each target, just do it after all the linux
+# targets have been processed
+case ${target} in
-+*-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC"
++*-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC" ; tmake_file="${tmake_file} t-linux-uclibc"
+esac
# Support for --with-cpu and related options (and a few unrelated options,
+--- gcc-4.0.2/gcc/config/t-linux-uclibc
++++ gcc-4.0.2/gcc/config/t-linux-uclibc
+@@ -0,0 +1,5 @@
++# Remove glibc specific files added in t-linux
++SHLIB_MAPFILES := $(filter-out $(srcdir)/config/libgcc-glibc.ver, $(SHLIB_MAPFILES))
++
++# Use unwind-dw2-fde instead of unwind-dw2-fde-glibc
++LIB2ADDEH := $(subst unwind-dw2-fde-glibc.c,unwind-dw2-fde.c,$(LIB2ADDEH))
--- gcc-4.0.2/gcc/config.gcc
+++ gcc-4.0.2/gcc/config.gcc
@@ -1778,7 +1778,7 @@
+# Rather than hook into each target, just do it after all the linux
+# targets have been processed
+case ${target} in
-+*-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC"
++*-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC" ; tmake_file="${tmake_file} t-linux-uclibc"
+esac
case ${target} in