diff options
author | Doug Kwan <dougkwan@google.com> | 2009-12-06 02:49:46 +0000 |
---|---|---|
committer | Doug Kwan <dougkwan@google.com> | 2009-12-06 02:49:46 +0000 |
commit | 05a352e6a76d399efe20435ac617f49327fdff29 (patch) | |
tree | d3c1762666ef735b7811c4f86b7dbc8bd5206b24 /elfcpp/arm.h | |
parent | f4e5969cc0a9a29070832a4439b3e22d9cd9621b (diff) | |
download | fsf-binutils-gdb-05a352e6a76d399efe20435ac617f49327fdff29.zip fsf-binutils-gdb-05a352e6a76d399efe20435ac617f49327fdff29.tar.gz fsf-binutils-gdb-05a352e6a76d399efe20435ac617f49327fdff29.tar.bz2 |
2009-12-05 Doug Kwan <dougkwan@google.com>
elfcpp/ChangeLog:
* arm.h: Define enums for Tag_CPU_arch EABI attribute.
gold/ChangeLog:
* arm.cc (Target_arm::arm_info): Initialize new fields
attributes_section and attributes_vendor.
* i386.cc (Target_i386::i386_info): Same.
* object.cc (Sized_relobj::do_layout): Skip attribute section.
* gold/powerpc.cc (Target_powerpc::powerpc_info): Initialize new
fields attributes_section and attributes_vendor.
* sparc.cc (Target_sparc::sparc_info): Same.
* target.h (Target::attributes_section, Target::attributes_vendor,
Target::is_attributes_section, Target::attribute_arg_type,
Target::attributes_order): New method definitions.
(Target::Target_info::attributes_section,
Target::Target_info::attributes_vendor): New fields.
(Target::do_attribute_arg_type, Target::do_attributes_order): New
virtual method definitions.
* x86_64.cc (Target_x86_64::x86_64_info): Initialize new fields
attributes_section and attributes_vendor.
* testsuite/testfile.cc (Target_test::test_target_info): Same.
Diffstat (limited to 'elfcpp/arm.h')
-rw-r--r-- | elfcpp/arm.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/elfcpp/arm.h b/elfcpp/arm.h index 027cf34..52b80c5 100644 --- a/elfcpp/arm.h +++ b/elfcpp/arm.h @@ -222,6 +222,29 @@ inline Elf_Word arm_eabi_version(Elf_Word flags) { return flags & EF_ARM_EABIMASK; } +// Values for the Tag_CPU_arch EABI attribute. +enum +{ + TAG_CPU_ARCH_PRE_V4, + TAG_CPU_ARCH_V4, + TAG_CPU_ARCH_V4T, + TAG_CPU_ARCH_V5T, + TAG_CPU_ARCH_V5TE, + TAG_CPU_ARCH_V5TEJ, + TAG_CPU_ARCH_V6, + TAG_CPU_ARCH_V6KZ, + TAG_CPU_ARCH_V6T2, + TAG_CPU_ARCH_V6K, + TAG_CPU_ARCH_V7, + TAG_CPU_ARCH_V6_M, + TAG_CPU_ARCH_V6S_M, + TAG_CPU_ARCH_V7E_M, + MAX_TAG_CPU_ARCH = TAG_CPU_ARCH_V7E_M, + // 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. + TAG_CPU_ARCH_V4T_PLUS_V6_M = (MAX_TAG_CPU_ARCH + 1) +}; + } // End namespace elfcpp. #endif // !defined(ELFCPP_ARM_H) |