diff options
author | Andrew Stubbs <andrew.stubbs@st.com> | 2009-01-15 18:00:49 +0000 |
---|---|---|
committer | Andrew Stubbs <andrew.stubbs@st.com> | 2009-01-15 18:00:49 +0000 |
commit | 91e22acdfab8ca330673117a7634ce8e09cd9992 (patch) | |
tree | e73a770ea2dba8446535facdb2604b2cbdd5ed9a /include/elf/arm.h | |
parent | 572d275cf70be4f861e0cdbf55e1136a3b57b69e (diff) | |
download | gdb-91e22acdfab8ca330673117a7634ce8e09cd9992.zip gdb-91e22acdfab8ca330673117a7634ce8e09cd9992.tar.gz gdb-91e22acdfab8ca330673117a7634ce8e09cd9992.tar.bz2 |
2009-01-15 Andrew Stubbs <ams@codesourcery.com>
Julian Brown <julian@codesourcery.com>
bfd/
* elf-bfd.h (NUM_KNOWN_OBJ_ATTRIBUTES): Set to 71 to include all known
ARM attributes in ABI 2.07.
* elf32-arm.c (get_secondary_compatible_arch): New function.
(set_secondary_compatible_arch): New function.
(tag_cpu_arch_combine): New function.
(elf32_arm_copy_one_eabi_other_attribute): Delete function.
(elf32_arm_copy_eabi_other_attribute_list): Delete function.
(elf32_arm_merge_eabi_attributes): Rename order_312 to order_021 to
make it fit with order_01243.
Add support for Tag_also_compatible_with,
Tag_CPU_unaligned_access, Tag_T2EE_use, Tag_Virtualization_use,
Tag_MPextension_use, Tag_nodefaults and Tag_conformance.
Improve/tidy up support for Tag_CPU_raw_name, Tag_CPU_name,
Tag_CPU_arch, Tag_ABI_HardFP_use, Tag_VFP_HP_extension,
Tag_ABI_FP_denormal, Tag_ABI_PCS_GOT_use, Tag_ABI_align8_needed,
Tag_VFP_arch and Tag_ABI_FP_16bit_format.
Rework the way unknown attributes are handled.
Defer errors until all attributes have been processed.
gas/
* config/tc-arm.c (cpu_arch): Change ARM_ARCH_V6M to 11.
include/elf/
* arm.h (TAG_CPU_ARCH_V6_M, TAG_CPU_ARCH_V6S_M): New defines.
(MAX_TAG_CPU_ARCH, TAG_CPU_ARCH_V4T_PLUS_V6_M): New defines.
(Tag_NEON_arch): Rename to Tag_Advanced_SIMD_arch to match ARM ABI
version 2.07.
(Tag_undefined39, Tag_nodefaults): New enum values.
(Tag_also_compatible_with, Tag_T2EE_use): Likewise.
(Tag_conformance, Tag_Virtualization_use): Likewise.
(Tag_undefined69, Tag_MPextension_use): Likewise.
Diffstat (limited to 'include/elf/arm.h')
-rw-r--r-- | include/elf/arm.h | 44 |
1 files changed, 29 insertions, 15 deletions
diff --git a/include/elf/arm.h b/include/elf/arm.h index ade479c..ed8a26e 100644 --- a/include/elf/arm.h +++ b/include/elf/arm.h @@ -85,17 +85,23 @@ #define PF_ARM_ABS 0x40000000 /* Segment must be loaded at its base address. */ /* Values for the Tag_CPU_arch EABI attribute. */ -#define TAG_CPU_ARCH_PRE_V4 0 -#define TAG_CPU_ARCH_V4 1 -#define TAG_CPU_ARCH_V4T 2 -#define TAG_CPU_ARCH_V5T 3 -#define TAG_CPU_ARCH_V5TE 4 -#define TAG_CPU_ARCH_V5TEJ 5 -#define TAG_CPU_ARCH_V6 6 -#define TAG_CPU_ARCH_V6KZ 7 -#define TAG_CPU_ARCH_V6T2 8 -#define TAG_CPU_ARCH_V6K 9 -#define TAG_CPU_ARCH_V7 10 +#define TAG_CPU_ARCH_PRE_V4 0 +#define TAG_CPU_ARCH_V4 1 +#define TAG_CPU_ARCH_V4T 2 +#define TAG_CPU_ARCH_V5T 3 +#define TAG_CPU_ARCH_V5TE 4 +#define TAG_CPU_ARCH_V5TEJ 5 +#define TAG_CPU_ARCH_V6 6 +#define TAG_CPU_ARCH_V6KZ 7 +#define TAG_CPU_ARCH_V6T2 8 +#define TAG_CPU_ARCH_V6K 9 +#define TAG_CPU_ARCH_V7 10 +#define TAG_CPU_ARCH_V6_M 11 +#define TAG_CPU_ARCH_V6S_M 12 +#define MAX_TAG_CPU_ARCH 12 +/* Pseudo-architecture to allow objects to be compatible with the subset of + armv4t and armv6-m. This value should never be stored in object files. */ +#define TAG_CPU_ARCH_V4T_PLUS_V6_M (MAX_TAG_CPU_ARCH + 1) /* Relocation types. */ @@ -251,7 +257,7 @@ enum Tag_THUMB_ISA_use, Tag_VFP_arch, Tag_WMMX_arch, - Tag_NEON_arch, + Tag_Advanced_SIMD_arch, Tag_PCS_config, Tag_ABI_PCS_R9_use, Tag_ABI_PCS_RW_data, @@ -271,13 +277,21 @@ enum Tag_ABI_WMMX_args, Tag_ABI_optimization_goals, Tag_ABI_FP_optimization_goals, - /* 32 is generic. */ + /* 32 is generic (Tag_compatibility). */ Tag_undefined33 = 33, Tag_CPU_unaligned_access, - Tag_undefined35, + Tag_undefined35, Tag_VFP_HP_extension, Tag_undefined37, - Tag_ABI_FP_16bit_format = 38, + Tag_ABI_FP_16bit_format, + Tag_undefined39, + Tag_nodefaults = 64, + Tag_also_compatible_with, + Tag_T2EE_use, + Tag_conformance, + Tag_Virtualization_use, + Tag_undefined69, + Tag_MPextension_use }; #endif |