libgcc wasn't building the soft-float routines for mips-sde-elf, because the config.host stanza removed t-mips from tmake_file.
Tested on mips-sde-elf and applied. I should have noticed this when the patches were posted for review, sorry. Richard libgcc/ * config.host (mips*-sde-elf*, mipsisa64sr71k-*-elf*): Add to tmake_file rather replacing it. Index: libgcc/config.host =================================================================== --- libgcc/config.host 2011-12-14 22:34:31.000000000 +0000 +++ libgcc/config.host 2011-12-14 22:34:45.000000000 +0000 @@ -751,7 +751,7 @@ mips*-*-linux*) # Linux MIPS, either mips*-*-openbsd*) ;; mips*-sde-elf*) - tmake_file="mips/t-crtstuff mips/t-mips16" + tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16" case "${with_newlib}" in yes) # newlib / libgloss. @@ -771,7 +771,7 @@ mipsisa64r2-*-elf* | mipsisa64r2el-*-elf extra_parts="$extra_parts crti.o crtn.o" ;; mipsisa64sr71k-*-elf*) - tmake_file="mips/t-elf mips/t-crtstuff t-fdpbit" + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff t-fdpbit" extra_parts="$extra_parts crti.o crtn.o" ;; mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)