diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 1cb24266d9..0892217731 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +2004-08-26 Paul Brook + + * INTERWORK_FLAG: Return true for EABIv3 objects. + 2004-08-26 Alan Modra * elf32-m32r.c (m32r_elf_relocate_section): Don't compare with diff --git a/bfd/elf32-arm.h b/bfd/elf32-arm.h index 6fd68e6afc..17521836b8 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.