Vampirised from:
  http://landley.net/hg/aboriginal/file/7e0747a665ab/sources/patches/gcc-core-libgcceh.patch

diff -durN gcc-4.2.2.orig/gcc/mklibgcc.in gcc-4.2.2/gcc/mklibgcc.in
--- gcc-4.2.2.orig/gcc/mklibgcc.in	2006-07-04 22:20:01.000000000 +0200
+++ gcc-4.2.2/gcc/mklibgcc.in	2011-08-31 16:24:03.674690016 +0200
@@ -223,8 +223,8 @@
   if [ "$LIBUNWIND" ]; then
     libunwind_a=$dir/libunwind.a
   fi
+  libgcc_eh_a=$dir/libgcc_eh.a
   if [ "$SHLIB_LINK" ]; then
-    libgcc_eh_a=$dir/libgcc_eh.a
     libgcc_s_so=$dir/libgcc_s${SHLIB_EXT}
     if [ "$LIBUNWIND" ]; then
       libunwind_so=$dir/libunwind${SHLIB_EXT}
@@ -889,11 +889,11 @@
   echo '	chmod 644'  ${ldir}/libgcov.a
   echo '	$(RANLIB_FOR_TARGET)' ${ldir}/libgcov.a
 
-  if [ "$SHLIB_LINK" ]; then
-    echo '	$(INSTALL_DATA)' ${dir}/libgcc_eh.a ${ldir}/
-    echo '	chmod 644'  ${ldir}/libgcc_eh.a
-    echo '	$(RANLIB_FOR_TARGET)' ${ldir}/libgcc_eh.a
+  echo '	$(INSTALL_DATA)' ${dir}/libgcc_eh.a ${ldir}/
+  echo '	chmod 644'  ${ldir}/libgcc_eh.a
+  echo '	$(RANLIB_FOR_TARGET)' ${ldir}/libgcc_eh.a
 
+  if [ "$SHLIB_LINK" ]; then
     shlib_slibdir_qual=
     os_multilib_dir=`$GCC_FOR_TARGET $flags --print-multi-os-directory`
     if [ "$os_multilib_dir" != . ]; then
