---
bfd/config.bfd | 10 ++++++++++
gas/configure.ac | 3 +++
ld/configure.tgt | 6 ++++++
3 files changed, 19 insertions(+)
diff --git a/bfd/config.bfd b/bfd/config.bfd
index b79c711..e7bc05c 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -1066,6 +1066,16 @@ 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*-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
+ ;;
+ mips64*-*-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
+ ;;
mips64*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"
diff --git a/gas/configure.ac b/gas/configure.ac
index 8e05fb8..fe7cfd8 100644
--- a/gas/configure.ac
+++ b/gas/configure.ac
@@ -287,6 +287,9 @@ changequote([,])dnl
esac
# Decide which ABI to target by default.
case ${target} in
+ mips64*-linux-gnuabi64)
+ mips_default_abi=N64_ABI
+ ;;
mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* | mips64*-kfreebsd*-gnu)
mips_default_abi=N32_ABI
;;
diff --git a/ld/configure.tgt b/ld/configure.tgt
index a46fbca..ec6e1a1 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -479,6 +479,12 @@ mips*el-*-vxworks*) targ_emul=elf32elmipvxworks
mips*-*-vxworks*) targ_emul=elf32ebmipvxworks
targ_extra_emuls="elf32elmipvxworks" ;;
mips*-*-windiss) targ_emul=elf32mipswindiss ;;
+mips64*el-*-linux-gnuabi64) targ_emul=elf64ltsmip
+ targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf32ltsmipn32 elf64btsmip"
+ targ_extra_libpath=$targ_extra_emuls ;;
+mips64*-*-linux-gnuabi64) targ_emul=elf64btsmip
+ targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf32btsmipn32 elf64ltsmip"
+ targ_extra_libpath=$targ_extra_emuls ;;
mips64*el-*-linux-*) targ_emul=elf32ltsmipn32
targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
targ_extra_libpath=$targ_extra_emuls ;;