aboutsummaryrefslogtreecommitdiff
path: root/include/elf/arm.h
diff options
context:
space:
mode:
authorAndrew Stubbs <andrew.stubbs@st.com>2009-01-15 18:00:49 +0000
committerAndrew Stubbs <andrew.stubbs@st.com>2009-01-15 18:00:49 +0000
commit91e22acdfab8ca330673117a7634ce8e09cd9992 (patch)
treee73a770ea2dba8446535facdb2604b2cbdd5ed9a /include/elf/arm.h
parent572d275cf70be4f861e0cdbf55e1136a3b57b69e (diff)
downloadgdb-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.h44
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