The value of default_mips_arch will be always used for -march by default,
no matter what value is given to -mabi.
It will produce abnormal elf file like:
 ELF 32-bit LSB relocatable, MIPS, MIPS64 rel2 version 1 (SYSV)

So we use with_arch_32 and with_arch_64 instead of default_mips_arch
for all mipsisa[32,64]rN triples.

gcc/ChangeLog:
        * config.gcc: use with_arch_32 and with_arch_64 instead of
        default_mips_arch for mipsisa[32,64]rN triples.
---
 gcc/config.gcc | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/gcc/config.gcc b/gcc/config.gcc
index f0958e1c959..0b6d093d847 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -2518,13 +2518,16 @@ mips*-*-linux*)                         # Linux MIPS, 
either endian.
        extra_options="${extra_options} linux-android.opt"
        case ${target} in
                mipsisa32r6*)
-                       default_mips_arch=mips32r6
+                       with_arch_32="mips32r6"
+                       with_arch_64="mips64r6"
                        ;;
                mipsisa32r2*)
-                       default_mips_arch=mips32r2
+                       with_arch_32="mips32r2"
+                       with_arch_64="mips64r2"
                        ;;
                mipsisa32*)
-                       default_mips_arch=mips32
+                       with_arch_32="mips32"
+                       with_arch_64="mips64"
                        ;;
                mips64el-st-linux-gnu)
                        default_mips_abi=n32
@@ -2540,22 +2543,26 @@ mips*-*-linux*)                         # Linux MIPS, 
either endian.
                        ;;
                mipsisa64r6*-*-linux-gnuabi64)
                        default_mips_abi=64
-                       default_mips_arch=mips64r6
+                       with_arch_32="mips32r6"
+                       with_arch_64="mips64r6"
                        enable_mips_multilibs="yes"
                        ;;
                mipsisa64r6*-*-linux*)
                        default_mips_abi=n32
-                       default_mips_arch=mips64r6
+                       with_arch_32="mips32r6"
+                       with_arch_64="mips64r6"
                        enable_mips_multilibs="yes"
                        ;;
                mipsisa64r2*-*-linux-gnuabi64)
                        default_mips_abi=64
-                       default_mips_arch=mips64r2
+                       with_arch_32="mips32r2"
+                       with_arch_64="mips64r2"
                        enable_mips_multilibs="yes"
                        ;;
                mipsisa64r2*-*-linux*)
                        default_mips_abi=n32
-                       default_mips_arch=mips64r2
+                       with_arch_32="mips32r2"
+                       with_arch_64="mips64r2"
                        enable_mips_multilibs="yes"
                        ;;
                mips64*-*-linux-gnuabi64 | mipsisa64*-*-linux-gnuabi64)
-- 
2.30.2

Reply via email to