* bfd/elf32-arm.c (elf32_arm_merge_eabi_attributes): Add support for
merging Tag_DIV_use, Tag_MPextension_use, and Tag_MPextension_use_legacy tags. * binutils/readelf.c (arm_attr_tag_Advanced_SIMD_arch): Add description of newly permitted attribute values. (arm_attr_tag_Virtualization_use): Likewise. (arm_attr_tag_DIV_use): Add description of new attribute. (arm_attr_tag_MPextension_use_legacy): Likewise. * gas/config/tc-arm.c (arm_convert_symbolic_attribute): Add Tag_DIV_use. * gas/doc/c-arm.texi: Likewise. * gas/testsuite/gas/arm/attr-order.d: Fix test for new names for attribute values. * include/elf/arm.h (Tag_MPextension_use): Renumber. (Tag_DIV_use): Add. (Tag_MPextension_use_legacy): Likewise. * ld/testsuite/ld-arm/attr-merge-3.attr: Fix test for new attribute values. * ld/testsuite/ld-arm/attr-merge-3b.s: Likewise. * ld/testsuite/ld-arm/attr-merge-unknown-1.d: Fix test now that 42 is a recognised attribute ID. * ld/testsuite/ld-arm/attr-merge-unknown-1.s: Likewise. * ld/testsuite/ld-arm/attr-merge-6.attr: New test. * ld/testsuite/ld-arm/attr-merge-6a.s: Likewise. * ld/testsuite/ld-arm/attr-merge-6b.s: Likewise. * ld/testsuite/ld-arm/attr-merge-7.attr: Likewise. * ld/testsuite/ld-arm/attr-merge-7a.s: Likewise. * ld/testsuite/ld-arm/attr-merge-7b.s: Likewise. * ld/testsuite/ld-arm/arm-elf.exp: Run the new tests.
This commit is contained in:
parent
b2fc24d469
commit
cd21e5460f
22 changed files with 178 additions and 14 deletions
|
@ -9071,7 +9071,8 @@ static const char * arm_attr_tag_THUMB_ISA_use[] =
|
|||
static const char * arm_attr_tag_VFP_arch[] =
|
||||
{"No", "VFPv1", "VFPv2", "VFPv3", "VFPv3-D16", "VFPv4", "VFPv4-D16"};
|
||||
static const char * arm_attr_tag_WMMX_arch[] = {"No", "WMMXv1", "WMMXv2"};
|
||||
static const char * arm_attr_tag_Advanced_SIMD_arch[] = {"No", "NEONv1"};
|
||||
static const char * arm_attr_tag_Advanced_SIMD_arch[] =
|
||||
{"No", "NEONv1", "NEONv1 with Fused-MAC"};
|
||||
static const char * arm_attr_tag_PCS_config[] =
|
||||
{"None", "Bare platform", "Linux application", "Linux DSO", "PalmOS 2004",
|
||||
"PalmOS (reserved)", "SymbianOS 2004", "SymbianOS (reserved)"};
|
||||
|
@ -9114,10 +9115,17 @@ static const char * arm_attr_tag_VFP_HP_extension[] =
|
|||
{"Not Allowed", "Allowed"};
|
||||
static const char * arm_attr_tag_ABI_FP_16bit_format[] =
|
||||
{"None", "IEEE 754", "Alternative Format"};
|
||||
static const char * arm_attr_tag_MPextension_use[] =
|
||||
{"Not Allowed", "Allowed"};
|
||||
static const char * arm_attr_tag_DIV_use[] =
|
||||
{"Allowed in Thumb-ISA, v7-R or v7-M", "Not allowed",
|
||||
"Allowed in v7-A with integer division extension"};
|
||||
static const char * arm_attr_tag_T2EE_use[] = {"Not Allowed", "Allowed"};
|
||||
static const char * arm_attr_tag_Virtualization_use[] =
|
||||
{"Not Allowed", "TrustZone", "Virtualization Extensions",
|
||||
"TrustZone and Virtualization Extensions"};
|
||||
static const char * arm_attr_tag_MPextension_use_legacy[] =
|
||||
{"Not Allowed", "Allowed"};
|
||||
static const char * arm_attr_tag_MPextension_use[] = {"Not Allowed", "Allowed"};
|
||||
|
||||
#define LOOKUP(id, name) \
|
||||
{id, #name, 0x80 | ARRAY_SIZE(arm_attr_tag_##name), arm_attr_tag_##name}
|
||||
|
@ -9155,12 +9163,14 @@ static arm_attr_public_tag arm_attr_public_tags[] =
|
|||
LOOKUP(34, CPU_unaligned_access),
|
||||
LOOKUP(36, VFP_HP_extension),
|
||||
LOOKUP(38, ABI_FP_16bit_format),
|
||||
LOOKUP(42, MPextension_use),
|
||||
LOOKUP(44, DIV_use),
|
||||
{64, "nodefaults", 0, NULL},
|
||||
{65, "also_compatible_with", 0, NULL},
|
||||
LOOKUP(66, T2EE_use),
|
||||
{67, "conformance", 1, NULL},
|
||||
LOOKUP(68, Virtualization_use),
|
||||
LOOKUP(70, MPextension_use)
|
||||
LOOKUP(70, MPextension_use_legacy)
|
||||
};
|
||||
#undef LOOKUP
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue