MIPS: default r6 if vendor is img

This behavior is used by downstream toolchain since 2014.
We also set the default ABI for mips*-img-elf to O32.
The previous value is NO_ABI, which is not good default ABI.

We don't support mips64*-img* due to GCC doesn't support it,
and We believe that the multilib should be used for this case.
This commit is contained in:
YunQiang Su
2023-05-10 18:07:23 +08:00
parent 094025a30b
commit be0d391f22
3 changed files with 15 additions and 3 deletions

View File

@@ -1537,7 +1537,7 @@ case "${targ_defvec} ${targ_selvecs}" in
esac
case "${targ}" in
mipsisa32r6* | mipsisa64r6*)
mipsisa32r6* | mipsisa64r6* | mips*-img-*)
targ_cflags="$targ_cflags -DMIPS_DEFAULT_R6=1"
;;
esac

8
gas/configure vendored
View File

@@ -12211,6 +12211,12 @@ _ACEOF
use_e_mips_abi_o32=1
;;
esac
# If Vendor is IMG, then MIPSr6 is used
case ${target} in
mips*-img-*)
mips_cpu=mips32r6
;;
esac
# Decide whether to generate 32-bit or 64-bit code by default.
# Used to resolve -march=from-abi when an embedded ABI is selected.
case ${target} in
@@ -12230,7 +12236,7 @@ _ACEOF
| mips64*-kfreebsd*-gnu | mips64*-ps2-elf*)
mips_default_abi=N32_ABI
;;
mips*-linux* | mips*-freebsd* | mips*-kfreebsd*-gnu)
mips*-linux* | mips*-freebsd* | mips*-kfreebsd*-gnu | mips*-img-elf)
mips_default_abi=O32_ABI
;;
mips64*-openbsd*)

View File

@@ -380,6 +380,12 @@ changequote([,])dnl
use_e_mips_abi_o32=1
;;
esac
# If Vendor is IMG, then MIPSr6 is used
case ${target} in
mips*-img-*)
mips_cpu=mips32r6
;;
esac
# Decide whether to generate 32-bit or 64-bit code by default.
# Used to resolve -march=from-abi when an embedded ABI is selected.
case ${target} in
@@ -399,7 +405,7 @@ changequote([,])dnl
| mips64*-kfreebsd*-gnu | mips64*-ps2-elf*)
mips_default_abi=N32_ABI
;;
mips*-linux* | mips*-freebsd* | mips*-kfreebsd*-gnu)
mips*-linux* | mips*-freebsd* | mips*-kfreebsd*-gnu | mips*-img-elf)
mips_default_abi=O32_ABI
;;
mips64*-openbsd*)