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


* 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]