This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Add support for the target mips64*-*-linux-gnuabi64


Hi Nick,

On 03/03/15 19:16, Richard Sandiford wrote:
when running binutils on mips64 I've found ld was wrongly set to the
32-bit ABI by default.  I stumbled over this:
http://lists.gnu.org/archive/html/bug-binutils/2014-06/msg00014.html
and changed to gas/configure.ac to work with the current HEAD.

Patch looks good, but it could be big enough to require a copyright
assignment from the original author.  Nick, what do you think?

Will a copyright assignment be required for this patch?

Thanks,
Simon

---
  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 ;;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]