Right now there is a small bug in how mips-linux configures gcc for softfloat. In gcc/config/mips/t-linux, we set up libgcc to include the soft floating point code, using the GNU names, like __addsi3. But because mips/linux.h includes mips/ecoff.h, gcc produces calls to the GOFAST style names (like dpmul, very namespace-contaminating.) mips/netbsd.h cleans up after mips/elf.h by doing: #undef US_SOFTWARE_GOFAST #undef INIT_SUBTARGET_OPTABS #define INIT_SUBTARGET_OPTABS which would fix the problem for mips/linux.h as well. Jay