[PATCH] ld/arc: Fix linker for big-endian arc targets
Claudiu Zissulescu
Claudiu.Zissulescu@synopsys.com
Thu Apr 7 15:33:00 GMT 2016
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
More information about the Binutils
mailing list