From 4ff9d049682707a833876ed5ec6dbf24975b5b58 Mon Sep 17 00:00:00 2001 From: Paul Brook Date: Fri, 6 Jun 2008 23:20:48 +0000 Subject: [PATCH] 2008-06-06 Paul Brook bfd/ * elf32-arm.c (elf32_arm_merge_private_bfd_data): Reject BE8 input. --- bfd/ChangeLog | 5 +++++ bfd/elf32-arm.c | 11 +++++++++++ 2 files changed, 16 insertions(+) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index b725c3c356..ddca514fe4 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2008-06-06 Paul Brook + + bfd/ + * elf32-arm.c (elf32_arm_merge_private_bfd_data): Reject BE8 input. + 2008-06-06 Alan Modra * elf32-spu.c (spu_elf_auto_overlay): Relax requirement that diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 548dfc0df9..1e32554dc0 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 -- 2.11.0