This patch fixes undefined references to softp symbols (__multf3, __fixunstfsi, __subtf3, etc.) in libgcc_s.so on GNU/Hurd. Taken from , with second hunk adjusted so that it applies to GCC 4.5.0. diff --git a/gcc/config.gcc b/gcc/config.gcc index 9e499cb..9aec392 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -3070,7 +3070,9 @@ case ${target} in i[34567]86-*-darwin* | x86_64-*-darwin*) tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp" ;; - i[34567]86-*-linux* | x86_64-*-linux* | i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu) + i[34567]86-*-linux* | x86_64-*-linux* | \ + i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \ + i[34567]86-*-gnu*) tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp i386/t-linux" ;; ia64*-*-linux*) diff --git a/libgcc/config.host b/libgcc/config.host --- a/libgcc/config.host +++ b/libgcc/config.host @@ -600,6 +600,7 @@ case ${host} in i[34567]86-*-darwin* | x86_64-*-darwin* | \ i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \ i[34567]86-*-linux* | x86_64-*-linux* | \ + i[34567]86-*-gnu* | \ i[34567]86-*-solaris2* | \ i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*) if test "${host_address}" = 32; then