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.
This commit is contained in:
YunQiang Su 2024-07-12 18:18:59 +08:00 committed by YunQiang Su
parent 0d988fbb4e
commit d49f2dd78b
4 changed files with 11 additions and 6 deletions

2
gas/configure vendored
View file

@ -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* \

View file

@ -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* \

View file

@ -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

View file

@ -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-*-*] } {