diff options
author | YunQiang Su <yunqiang.su@cipunited.com> | 2023-05-10 18:07:23 +0800 |
---|---|---|
committer | YunQiang Su <yunqiang.su@cipunited.com> | 2023-06-05 11:00:14 +0800 |
commit | be0d391f22fe6009c3be907753975a984cbbcc23 (patch) | |
tree | a3a67bd621ffb72f41a4501b89b1e91cf7a22201 | |
parent | 094025a30bb2da19df3990e0c0ff8167af823aa1 (diff) | |
download | fsf-binutils-gdb-be0d391f22fe6009c3be907753975a984cbbcc23.zip fsf-binutils-gdb-be0d391f22fe6009c3be907753975a984cbbcc23.tar.gz fsf-binutils-gdb-be0d391f22fe6009c3be907753975a984cbbcc23.tar.bz2 |
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.
-rw-r--r-- | bfd/config.bfd | 2 | ||||
-rwxr-xr-x | gas/configure | 8 | ||||
-rw-r--r-- | gas/configure.ac | 8 |
3 files changed, 15 insertions, 3 deletions
diff --git a/bfd/config.bfd b/bfd/config.bfd index 9548370..7875299 100644 --- a/bfd/config.bfd +++ b/bfd/config.bfd @@ -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 diff --git a/gas/configure b/gas/configure index 868f4a9..580022d 100755 --- a/gas/configure +++ b/gas/configure @@ -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*) diff --git a/gas/configure.ac b/gas/configure.ac index 03728ff..c1571a4 100644 --- a/gas/configure.ac +++ b/gas/configure.ac @@ -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*) |