summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2008-06-06 23:20:48 +0000
committerPaul Brook <paul@codesourcery.com>2008-06-06 23:20:48 +0000
commit2601362a3a14705fe4009a85c4b44cc199657724 (patch)
tree93475f6552f9ec6d6e9e98b43f3fdb584f3da569
parent75515dd188c5d1544e5f64275f64e72c0da11cf3 (diff)
downloadgdb-2601362a3a14705fe4009a85c4b44cc199657724.tar.gz
2008-06-06 Paul Brook <paul@codesourcery.com>
bfd/ * elf32-arm.c (elf32_arm_merge_private_bfd_data): Reject BE8 input.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf32-arm.c11
2 files changed, 16 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index b725c3c356c..ddca514fe45 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2008-06-06 Paul Brook <paul@codesourcery.com>
+
+ bfd/
+ * elf32-arm.c (elf32_arm_merge_private_bfd_data): Reject BE8 input.
+
2008-06-06 Alan Modra <amodra@bigpond.net.au>
* elf32-spu.c (spu_elf_auto_overlay): Relax requirement that
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 548dfc0df99..1e32554dc0f 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -8378,6 +8378,17 @@ elf32_arm_merge_private_bfd_data (bfd * ibfd, bfd * obfd)
in_flags = elf_elfheader (ibfd)->e_flags;
out_flags = elf_elfheader (obfd)->e_flags;
+ /* In theory there is no reason why we couldn't handle this. However
+ in practice it isn't even close to working and there is no real
+ reason to want it. */
+ if (EF_ARM_EABI_VERSION (in_flags) >= EF_ARM_EABI_VER4
+ && (in_flags & EF_ARM_BE8))
+ {
+ _bfd_error_handler (_("ERROR: %B is already in final BE8 format"),
+ ibfd);
+ return FALSE;
+ }
+
if (!elf_flags_init (obfd))
{
/* If the input is the default architecture and had the default