Hello, While working on mips recently, I noticed that all the execute tests fail for simulator.
This appears to be caused by an oversight in the move from gcc/config => libgcc, where t-elf defined extra parts including crt{begin,end}.o but these have been omitted from the re-built libgcc/config.host. The proposed patch adds the two crts to mips targets in libgcc/config.host (where they include t-elf) and coalesces those that have the same config. OK for trunk? Iain
Index: libgcc/config.host =================================================================== --- libgcc/config.host (revision 188843) +++ libgcc/config.host (working copy) @@ -749,46 +749,32 @@ mips*-sde-elf*) esac extra_parts="$extra_parts crti.o crtn.o" ;; -mipsisa32-*-elf* | mipsisa32el-*-elf* | \ -mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \ -mipsisa64-*-elf* | mipsisa64el-*-elf* | \ -mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*) - tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16" - extra_parts="$extra_parts crti.o crtn.o" +mipstx39-*-elf* | mipstx39el-*-elf*) + tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16" ;; mipsisa64sr71k-*-elf*) tmake_file="$tmake_file mips/t-elf mips/t-crtstuff t-fdpbit" - extra_parts="$extra_parts crti.o crtn.o" + extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o" ;; -mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*) - tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16" - extra_parts="$extra_parts crti.o crtn.o" - ;; -mips-*-elf* | mipsel-*-elf*) - tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16" - extra_parts="$extra_parts crti.o crtn.o" - ;; -mips64-*-elf* | mips64el-*-elf*) - tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16" - extra_parts="$extra_parts crti.o crtn.o" - ;; mips64vr-*-elf* | mips64vrel-*-elf*) tmake_file="$tmake_file mips/t-elf mips/t-vr mips/t-crtstuff" - extra_parts="$extra_parts crti.o crtn.o" + extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o" ;; -mips64orion-*-elf* | mips64orionel-*-elf*) +mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*) tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16" - extra_parts="$extra_parts crti.o crtn.o" + extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o" ;; mips*-*-rtems*) tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16" - extra_parts="$extra_parts crti.o crtn.o" + extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o" ;; + +mips*-*-elf*) + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16" + extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o" + ;; mips-wrs-vxworks) ;; -mipstx39-*-elf* | mipstx39el-*-elf*) - tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16" - ;; mmix-knuth-mmixware) extra_parts="crti.o crtn.o crtbegin.o crtend.o" tmake_file="${tmake_file} ${cpu_type}/t-${cpu_type}"