mips64-default-n64
authorMatthias Klose <doko@debian.org>
Sat, 24 Sep 2022 12:22:36 +0000 (13:22 +0100)
committerMatthias Klose <doko@debian.org>
Sat, 24 Sep 2022 12:22:36 +0000 (13:22 +0100)
Gbp-Pq: Name mips64-default-n64.diff

bfd/config.bfd
binutils/testsuite/binutils-all/mips/mips-note-2-n32.d
gas/configure
gas/configure.ac
ld/configure.tgt

index a4c6c8e8854f1e3841827150a900b2ce6aa0c88e..32b3fb43c40cee927c70f46ffe611d0ec34a1b93 100644 (file)
@@ -927,11 +927,21 @@ case "${targ}" in
     targ_defvec=mips_elf32_be_vec
     targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
     ;;
-  mips64*el-*-linux*)
+  mips*64*el-*-linux*-gnuabi64)
+    targ_defvec=mips_elf64_trad_le_vec
+    targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec"
+    want64=true
+    ;;
+  mips*64*-*-linux*-gnuabi64)
+    targ_defvec=mips_elf64_trad_be_vec
+    targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec"
+    want64=true
+    ;;
+  mips*64*el-*-linux*)
     targ_defvec=mips_elf32_ntrad_le_vec
     targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec"
     ;;
-  mips64*-*-linux*)
+  mips*64*-*-linux*)
     targ_defvec=mips_elf32_ntrad_be_vec
     targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
     ;;
index c2a581858ed30e5e657dd6fb197af51224ff0872..5e24e7a115eca840253dd5ddfe484ec595ad4d9d 100644 (file)
@@ -1,4 +1,5 @@
 #PROG: objcopy
+#as: -n32
 #readelf: --notes --wide
 #objcopy: --merge-notes
 #name: MIPS merge notes section (n32)
index 1c614b469d616631cfd721236f2ce202b8ccc848..7dea2724a950f51ed1f79e0431c9cbbeb5252ccd 100755 (executable)
@@ -12173,6 +12173,9 @@ _ACEOF
        esac
        # Decide which ABI to target by default.
        case ${target} in
+         mips*64*-linux-gnuabi64)
+           mips_default_abi=N64_ABI
+           ;;
          mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* \
          | mips64*-kfreebsd*-gnu | mips64*-ps2-elf*)
            mips_default_abi=N32_ABI
index 21795a82bdd11fedd1a06de5b756963eb734928a..16800820ad579485633ec8d2be4071b0c5f4d9d6 100644 (file)
@@ -384,6 +384,9 @@ changequote([,])dnl
        esac
        # Decide which ABI to target by default.
        case ${target} in
+         mips*64*-linux-gnuabi64)
+           mips_default_abi=N64_ABI
+           ;;
          mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* \
          | mips64*-kfreebsd*-gnu | mips64*-ps2-elf*)
            mips_default_abi=N32_ABI
index 2bae9099b6aae1f23afa5be74e84aeb7626d1058..f9801820dd4940a61554460eff1ff88d0c42dd5c 100644 (file)
@@ -580,11 +580,19 @@ mips*-*-vxworks*) targ_emul=elf32ebmipvxworks
                        ;;
 mips*-*-windiss)       targ_emul=elf32mipswindiss
                        ;;
-mips64*el-*-linux-*)   targ_emul=elf32ltsmipn32
+mips*64*el-*-linux-gnuabi64)   targ_emul=elf64ltsmip
+                       targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32ltsmip elf32btsmip elf64btsmip"
+                       targ_extra_libpath=$targ_extra_emuls
+                       ;;
+mips*64*el-*-linux-*)  targ_emul=elf32ltsmipn32
                        targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
                        targ_extra_libpath=$targ_extra_emuls
                        ;;
-mips64*-*-linux-*)     targ_emul=elf32btsmipn32
+mips*64*-*-linux-gnuabi64)     targ_emul=elf64btsmip
+                       targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip"
+                       targ_extra_libpath=$targ_extra_emuls
+                       ;;
+mips*64*-*-linux-*)    targ_emul=elf32btsmipn32
                        targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
                        targ_extra_libpath=$targ_extra_emuls
                        ;;