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] ld/arc: Fix linker for big-endian arc targets


Andrew,

Probably it is ok to commit it as it may break builds for other people, and the solution is very simple.

Best,
Claudiu

> -----Original Message-----
> From: Andrew Burgess [mailto:andrew.burgess@embecosm.com]
> Sent: Thursday, April 07, 2016 5:22 PM
> To: Alan Modra
> Cc: Claudiu.Zissulescu@synopsys.com; binutils@sourceware.org
> Subject: Re: [PATCH] ld/arc: Fix linker for big-endian arc targets
> 
> * Alan Modra <amodra@gmail.com> [2016-04-07 23:36:59 +0930]:
> 
> > On Tue, Apr 05, 2016 at 03:00:48PM +0100, Nick Clifton wrote:
> > > > 	* emulparams/arc-endianness.sh: New file.
> > > > 	* emulparams/arcebelf.sh: Deleted.
> > > > 	* emulparams/arcebelf_prof.sh: Deleted.
> > > > 	* emulparams/arceblinux.sh: Deleted.
> > > > 	* emulparams/arceblinux_prof.sh: Deleted.
> > > > 	* emulparams/arcelf.sh: Include arc-endinness.sh.
> > > > 	* emulparams/arcelf_prof.sh: Include arc-endinness.sh.
> > > > 	* emulparams/arclinux.sh: Include arc-endinness.sh.
> > > > 	* emulparams/arclinux_prof.sh: Include arc-endinness.sh.
> > > > 	* emulparams/arcv2elf.sh: Include arc-endinness.sh.
> > > > 	* emulparams/arcv2elfx.sh: Include arc-endinness.sh.
> >
> > It's likely that the above is responsible for breaking
> > --enable-targets=all builds.  Please fix.
> 
> Sorry about that, the patch below should fix things.  OK to apply?
> 
> Thanks,
> Andrew
> 
> ---
> 
> ld/arc: Make little endian default choice for linker scripts
> 
> When building with --enable-targets=all the target string is not set to
> something that matches the pattern arc*-*, and so the script used to
> decide if we should build big or little endian linker script currently
> exits with an error.
> 
> This commit makes little endian linker script be the default, which will
> be used when building for all targets, this matches the behaviour from
> before I made the endianness switchable, when we only ever built little
> endian linker scripts anyway.
> 
> ld/ChangeLog:
> 
> 	* emulparams/arc-endianness.sh: Make little endian default choice.
> 
> diff --git a/ld/emulparams/arc-endianness.sh b/ld/emulparams/arc-
> endianness.sh
> index 4d6158b..7a66dee 100644
> --- a/ld/emulparams/arc-endianness.sh
> +++ b/ld/emulparams/arc-endianness.sh
> @@ -1,10 +1,11 @@
> +# Select an appropriate endinaness based on the value of target.  When
> +# building for all targets we select little endian, which is what the
> +# '*' pattern is for.
>  case ${target} in
>      arceb-*)
>          ARC_ENDIAN="big"
>          ;;
> -    arc-*)
> +    arc-* | * )
>          ARC_ENDIAN="little"
>          ;;
> -    *)
> -        exit 1
>  esac


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