83 lines
3.1 KiB
Diff
83 lines
3.1 KiB
Diff
--- a/bfd/config.bfd
|
|
+++ b/bfd/config.bfd
|
|
@@ -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"
|
|
;;
|
|
--- a/binutils/testsuite/binutils-all/mips/mips-note-2-n32.d
|
|
+++ b/binutils/testsuite/binutils-all/mips/mips-note-2-n32.d
|
|
@@ -1,4 +1,5 @@
|
|
#PROG: objcopy
|
|
+#as: -n32
|
|
#readelf: --notes --wide
|
|
#objcopy: --merge-notes
|
|
#name: MIPS merge notes section (n32)
|
|
--- a/gas/configure
|
|
+++ b/gas/configure
|
|
@@ -12167,6 +12167,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
|
|
--- a/gas/configure.ac
|
|
+++ b/gas/configure.ac
|
|
@@ -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
|
|
--- a/ld/configure.tgt
|
|
+++ b/ld/configure.tgt
|
|
@@ -543,11 +543,19 @@ mips*-*-vxworks*) targ_emul=elf32ebmipvx
|
|
;;
|
|
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
|
|
;;
|