From 5c294fee9abb6bb259519d9cf164c34b81b83312 Mon Sep 17 00:00:00 2001 From: Terry Guo Date: Thu, 25 Dec 2014 09:50:48 +0800 Subject: ARM: Add support for value 3 of Tag_ABI_VFP_args attribute *** bfd/ChangeLog *** 2014-12-25 Thomas Preud'homme * elf32-arm.c (elf32_arm_merge_eabi_attributes): Handle new Tag_ABI_VFP_args value and replace hardcoded values by enum values. (elf32_arm_post_process_headers): Set e_flags in ELF header as hard float only when Tag_ABI_VFP_args is 1, using new enum value AEABI_VFP_args_vfp to check that. *** binutils/ChangeLog *** 2014-12-25 Thomas Preud'homme * readelf.c (arm_attr_tag_ABI_VFP_args): Add "compatible". *** gdb/ChangeLog *** 2014-12-25 Thomas Preud'homme * arm-tdep.c (arm_gdbarch_init): Explicitely handle value 3 of Tag_ABI_VFP_args. Also replace hardcoded values by enum values in the switch handling the different values of Tag_ABI_VFP_args. *** gold/ChangeLog *** 2014-12-25 Thomas Preud'homme * arm.cc (Target_arm::do_adjust_elf_header): Set e_flags in ELF header as hard float only when Tag_ABI_VFP_args is 1, using new enum value AEABI_VFP_args_vfp to check that. (Target_arm::merge_object_attributes): Handle new Tag_ABI_VFP_args value and replace hardcoded values by enum values. *** include/elf/ChangeLog *** 2014-12-25 Thomas Preud'homme * arm.h: New AEABI_FP_number_model_* and AEABI_VFP_args_* enum values. *** ld/testsuite/ChangeLog *** 2014-12-25 Thomas Preud'homme * ld-arm/attr-merge-2a.s: Add Tag_ABI_VFP_args. * ld-arm/attr-merge-2b.s: Likewise. * ld-arm/attr-merge-2.attr: Likewise. * ld-arm/attr-merge-4a.s: Add Tag_ABI_FP_number_model and Tag_ABI_VFP_args. * ld-arm/attr-merge-4b.s: Likewise. * ld-arm/attr-merge-4.attr: Likewise. * ld-arm/attr-merge-6a.s: Likewise. * ld-arm/attr-merge-6b.s: Likewise. * ld-arm/attr-merge-6.attr: Add Tag_ABI_FP_number_model. --- include/elf/ChangeLog | 4 ++++ include/elf/arm.h | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) (limited to 'include/elf') diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index f4f71077c0f..942923dc6dd 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,7 @@ +2014-12-25 Thomas Preud'homme + + * arm.h: New AEABI_FP_number_model_* and AEABI_VFP_args_* enum values. + 2014-12-06 Eric Botcazou * common.h (EM_VISIUM): Define. diff --git a/include/elf/arm.h b/include/elf/arm.h index 34afdfd9f4d..e85536b7e23 100644 --- a/include/elf/arm.h +++ b/include/elf/arm.h @@ -319,6 +319,23 @@ enum Tag_VFP_HP_extension = Tag_FP_HP_extension }; +/* Values for Tag_ABI_FP_number_model. */ +enum +{ + AEABI_FP_number_model_none = 0, + AEABI_FP_number_model_ieee754_number = 1, + AEABI_FP_number_model_rtabi = 2, + AEABI_FP_number_model_ieee754_all = 3 +}; + +/* Values for Tag_ABI_VFP_args. */ +enum +{ + AEABI_VFP_args_base = 0, + AEABI_VFP_args_vfp = 1, + AEABI_VFP_args_toolchain = 2, + AEABI_VFP_args_compatible = 3 +}; #endif /* The name of the note section used to identify arm variants. */ -- cgit v1.2.1