[binutils-gdb] MIPS: default r6 if vendor is img

YunQiang Su syq@sourceware.org
Mon Jun 5 03:01:56 GMT 2023


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=be0d391f22fe6009c3be907753975a984cbbcc23

commit be0d391f22fe6009c3be907753975a984cbbcc23
Author: YunQiang Su <yunqiang.su@cipunited.com>
Date:   Wed May 10 18:07:23 2023 +0800

    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.

Diff:
---
 bfd/config.bfd   | 2 +-
 gas/configure    | 8 +++++++-
 gas/configure.ac | 8 +++++++-
 3 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/bfd/config.bfd b/bfd/config.bfd
index 954837033c8..78752994456 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 868f4a911a9..580022d858d 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 03728ffce4d..c1571a49fbb 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*)


More information about the Binutils-cvs mailing list