MIPS: Use N64 by default for mips*64*-*-linux-gnuabi64 the ABI section of the triple explicitly asks for N64, and in fact GCC also does so. It can fix the test failure: FAIL: libdep test: did not get expected output from the linker with Debian's mipsisa64r6el-linux-gnuabi64 toolchain.
diff --git a/gas/configure b/gas/configure index 0cebc4e..4a6d472 100755 --- a/gas/configure +++ b/gas/configure
@@ -12280,7 +12280,7 @@ esac # Decide which ABI to target by default. case ${target} in - mips64*-openbsd* | mips64*-linux-gnuabi64) + mips64*-openbsd* | mips*64*-linux-gnuabi64) mips_default_abi=N64_ABI ;; mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* \
diff --git a/gas/configure.ac b/gas/configure.ac index 6b978aa..20939b6 100644 --- a/gas/configure.ac +++ b/gas/configure.ac
@@ -399,7 +399,7 @@ esac # Decide which ABI to target by default. case ${target} in - mips64*-openbsd* | mips64*-linux-gnuabi64) + mips64*-openbsd* | mips*64*-linux-gnuabi64) mips_default_abi=N64_ABI ;; mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* \
diff --git a/ld/configure.tgt b/ld/configure.tgt index f937f78..44079ae 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt
@@ -592,7 +592,7 @@ ;; mips*-*-windiss) targ_emul=elf32mipswindiss ;; -mips64*el-*-linux-gnuabi64) +mips*64*el-*-linux-gnuabi64) targ_emul=elf64ltsmip targ_extra_emuls="elf64btsmip elf32ltsmipn32 elf32btsmipn32 elf32ltsmip elf32btsmip" targ_extra_libpath=$targ_extra_emuls @@ -601,7 +601,7 @@ targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" targ_extra_libpath=$targ_extra_emuls ;; -mips64*-*-linux-gnuabi64) +mips*64*-*-linux-gnuabi64) targ_emul=elf64btsmip targ_extra_emuls="elf64ltsmip elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip" targ_extra_libpath=$targ_extra_emuls
diff --git a/ld/testsuite/config/default.exp b/ld/testsuite/config/default.exp index 8374920..d60f629 100644 --- a/ld/testsuite/config/default.exp +++ b/ld/testsuite/config/default.exp
@@ -177,11 +177,16 @@ # installed, but to the O32 ABI in the build tree, because of some # specs-file hacks. Make sure we use an ABI that is compatible with # the one we expect. -if {[istarget mips64*-*-linux*] && +# mips*64*-*linux-gnuabi64 compiler defaults to N64 ABI. +if {([istarget mips64*-*-linux*] || [istarget mips*64*-*-linux-gnuabi64]) && (![board_info [target_info name] exists multilib_flags] || ![string match "*-mabi" [board_info [target_info name] multilib_flags]]) } { - append gcc_B_opt " -mabi=n32" + if { [istarget *-*-gnuabi64] } { + append gcc_B_opt " -mabi=64" + } else { + append gcc_B_opt " -mabi=n32" + } } if { [istarget rx-*-*] } {