This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] Add support for the target mips64*-*-linux-gnuabi64
- From: Richard Sandiford <rdsandiford at googlemail dot com>
- To: Simon Hoinkis <simon dot hoinkis at codethink dot co dot uk>
- Cc: binutils at sourceware dot org, nickc at redhat dot com
- Date: Tue, 03 Mar 2015 19:16:12 +0000
- Subject: Re: [PATCH] Add support for the target mips64*-*-linux-gnuabi64
- Authentication-results: sourceware.org; auth=none
- References: <1425395562-4960-1-git-send-email-simon dot hoinkis at codethink dot co dot uk>
Simon Hoinkis <simon.hoinkis@codethink.co.uk> writes:
> Hi,
>
> 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?
Thanks,
Richard
>
> 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 ;;