aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2004-08-26 16:18:37 +0000
committerPaul Brook <paul@codesourcery.com>2004-08-26 16:18:37 +0000
commit85a84e7a87d99f18c509431f799d1eb81ba70c1b (patch)
tree0e9c348165df9f31d908657ef0272ddd529ee79f
parent5a2e8882dbd066d959d49f3bacc761948f45407d (diff)
downloadgdb-85a84e7a87d99f18c509431f799d1eb81ba70c1b.zip
gdb-85a84e7a87d99f18c509431f799d1eb81ba70c1b.tar.gz
gdb-85a84e7a87d99f18c509431f799d1eb81ba70c1b.tar.bz2
* INTERWORK_FLAG: Return true for EABIv3 objects.
-rw-r--r--bfd/ChangeLog4
-rw-r--r--bfd/elf32-arm.h4
2 files changed, 7 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 1cb2426..0892217 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,7 @@
+2004-08-26 Paul Brook <paul@codesourcery.com>
+
+ * INTERWORK_FLAG: Return true for EABIv3 objects.
+
2004-08-26 Alan Modra <amodra@bigpond.net.au>
* elf32-m32r.c (m32r_elf_relocate_section): Don't compare with
diff --git a/bfd/elf32-arm.h b/bfd/elf32-arm.h
index 6fd68e6..1752183 100644
--- a/bfd/elf32-arm.h
+++ b/bfd/elf32-arm.h
@@ -25,8 +25,10 @@
typedef unsigned long int insn32;
typedef unsigned short int insn16;
+/* In leiu of proper flags, assume all EABIv3 objects are interworkable. */
#define INTERWORK_FLAG(abfd) \
- (elf_elfheader (abfd)->e_flags & EF_ARM_INTERWORK)
+ (EF_ARM_EABI_VERSION (elf_elfheader (abfd)->e_flags) == EF_ARM_EABI_VER3 \
+ || (elf_elfheader (abfd)->e_flags & EF_ARM_INTERWORK))
/* The linker script knows the section names for placement.
The entry_names are used to do simple name mangling on the stubs.