diff options
Diffstat (limited to 'bfd/elf32-arm.c')
-rw-r--r-- | bfd/elf32-arm.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index aba1814..78c2d1d 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -10958,6 +10958,20 @@ bfd_arm_get_mach_from_attributes (bfd * abfd) if (strcmp (name, "IWMMXT") == 0) return bfd_mach_arm_iWMMXt; + + if (strcmp (name, "XSCALE") == 0) + { + int wmmx; + + BFD_ASSERT (Tag_WMMX_arch < NUM_KNOWN_OBJ_ATTRIBUTES); + wmmx = elf_known_obj_attributes (abfd) [OBJ_ATTR_PROC][Tag_WMMX_arch].i; + switch (wmmx) + { + case 1: return bfd_mach_arm_iWMMXt; + case 2: return bfd_mach_arm_iWMMXt2; + default: return bfd_mach_arm_XScale; + } + } } return bfd_mach_arm_5TE; |