diff options
author | YunQiang Su <yunqiang.su@cipunited.com> | 2023-11-24 17:39:55 +0800 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2023-11-30 13:51:17 +0000 |
commit | 070961b377b3762c41903253bfacdedd65171ab7 (patch) | |
tree | 4b5b2dbeb18485061c58265f984c24343ac48274 | |
parent | 53302c2d33c26909cc8446819f6677076ba48ca9 (diff) | |
download | binutils-070961b377b3762c41903253bfacdedd65171ab7.zip binutils-070961b377b3762c41903253bfacdedd65171ab7.tar.gz binutils-070961b377b3762c41903253bfacdedd65171ab7.tar.bz2 |
MIPS: Set r6 as default arch if vendor is img
This behavior is used by downstream toolchain since 2014,
and has been in GCC since the same year.
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 | 6 | ||||
-rw-r--r-- | gas/configure.ac | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/mips.exp | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/module-defer-warn2.d | 2 |
5 files changed, 15 insertions, 3 deletions
diff --git a/bfd/config.bfd b/bfd/config.bfd index 08129e6..8c9637a 100644 --- a/bfd/config.bfd +++ b/bfd/config.bfd @@ -1550,7 +1550,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 6a2f56f..ace1a17 100755 --- a/gas/configure +++ b/gas/configure @@ -12264,6 +12264,12 @@ _ACEOF use_ef_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 diff --git a/gas/configure.ac b/gas/configure.ac index d0b4cfb..7dac221 100644 --- a/gas/configure.ac +++ b/gas/configure.ac @@ -382,6 +382,12 @@ changequote([,])dnl use_ef_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 diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 777ae65..9238b26 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -473,7 +473,7 @@ mips_arch_create mips32r5 32 mips32r3 { fpisa3 fpisa4 fpisa5 ror } \ mips_arch_create mips32r6 32 mips32r5 { fpisa3 fpisa4 fpisa5 ror } \ { -march=mips32r6 -mtune=mips32r6 --defsym r6=} \ { -mmips:isa32r6 } \ - { mipsisa32r6-*-* mipsisa32r6el-*-* } + { mipsisa32r6-*-* mipsisa32r6el-*-* mips*-img-* } mips_arch_create mips64 64 mips5 { mips32 } \ { -march=mips64 -mtune=mips64 } { -mmips:isa64 } \ { mipsisa64-*-* mipsisa64el-*-* } diff --git a/gas/testsuite/gas/mips/module-defer-warn2.d b/gas/testsuite/gas/mips/module-defer-warn2.d index 5c2d1d7..1ff4fef 100644 --- a/gas/testsuite/gas/mips/module-defer-warn2.d +++ b/gas/testsuite/gas/mips/module-defer-warn2.d @@ -1,5 +1,5 @@ #name: .module deferred warnings 2 (pre-R2) #source: module-defer-warn2.s #as: -32 -#skip: mipsisa32r?* mipsisa64r?* +#skip: mipsisa32r?* mipsisa64r?* mips*-img-* #error_output: module-defer-warn2.l |