From: YunQiang Su Date: Fri, 12 Jul 2024 10:18:59 +0000 (+0800) Subject: MIPS: Use N64 by default for mips*64*-*-linux-gnuabi64 X-Git-Tag: binutils-2_43~146 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d49f2dd78b08efa4e1ee51f5df5058846c2eb4fa;p=thirdparty%2Fbinutils-gdb.git 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 0cebc4e0fa9..4a6d4721cc4 100755 --- a/gas/configure +++ b/gas/configure @@ -12280,7 +12280,7 @@ _ACEOF 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 6b978aae3f7..20939b660c2 100644 --- a/gas/configure.ac +++ b/gas/configure.ac @@ -399,7 +399,7 @@ changequote([,])dnl 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 f937f78b876..44079ae2792 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt @@ -592,7 +592,7 @@ mips*-*-vxworks*) targ_emul=elf32ebmipvxworks ;; 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 @@ mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 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 8374920c775..d60f6290083 100644 --- a/ld/testsuite/config/default.exp +++ b/ld/testsuite/config/default.exp @@ -177,11 +177,16 @@ if {! [info exists env(CCC_OVERRIDE_OPTIONS)]} { # 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-*-*] } {