mips64-default-n64
authorMatthias Klose <doko@debian.org>
Sun, 1 Jan 2023 12:37:39 +0000 (12:37 +0000)
committerMatthias Klose <doko@debian.org>
Sun, 1 Jan 2023 12:37:39 +0000 (12:37 +0000)
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 d1839a586eb1809cb47bc86ce46cf94a4a79976c..222ea1880f8ed27e4908fa24c17f38da4d04fc4a 100644 (file)
@@ -943,11 +943,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 fb4a0a85ff7fab0ed058c5d6b65f6af3ddc18cee..12404f984966cd2d396a08bb5464105a110fefbf 100755 (executable)
@@ -12224,6 +12224,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 787ee53f0213de044338a365b41fa3430decd4b4..a35f9e5100ec40832f0e2f08f2a5baea79bca024 100644 (file)
@@ -393,6 +393,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 c2f3ede37efdaa7edd2adf505ba8c8203b213db7..718893161a333dd09727ac65205c4f7d9b8110cc 100644 (file)
@@ -585,11 +585,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
                        ;;