summaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorTerry Guo <terry.guo@arm.com>2014-12-25 09:50:48 +0800
committerTerry Guo <terry.guo@arm.com>2014-12-25 09:55:03 +0800
commit5c294fee9abb6bb259519d9cf164c34b81b83312 (patch)
tree93e78a59109412656e4a0dcb3e37bba1c09dd0f6 /ld
parentd274fbe8a43db3164b133772b2d0f557052561b5 (diff)
ARM: Add support for value 3 of Tag_ABI_VFP_args attribute
*** bfd/ChangeLog *** 2014-12-25 Thomas Preud'homme <thomas.preudhomme@arm.com> * 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 <thomas.preudhomme@arm.com> * readelf.c (arm_attr_tag_ABI_VFP_args): Add "compatible". *** gdb/ChangeLog *** 2014-12-25 Thomas Preud'homme <thomas.preudhomme@arm.com> * 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 <thomas.preudhomme@arm.com> * 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 <thomas.preudhomme@arm.com> * arm.h: New AEABI_FP_number_model_* and AEABI_VFP_args_* enum values. *** ld/testsuite/ChangeLog *** 2014-12-25 Thomas Preud'homme <thomas.preudhomme@arm.com> * 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.
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ChangeLog13
-rw-r--r--ld/testsuite/ld-arm/attr-merge-2.attr1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-2a.s1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-2b.s1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-4.attr2
-rw-r--r--ld/testsuite/ld-arm/attr-merge-4a.s3
-rw-r--r--ld/testsuite/ld-arm/attr-merge-4b.s3
-rw-r--r--ld/testsuite/ld-arm/attr-merge-6.attr1
-rw-r--r--ld/testsuite/ld-arm/attr-merge-6a.s2
-rw-r--r--ld/testsuite/ld-arm/attr-merge-6b.s2
10 files changed, 29 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index d987267775..a8c5a79487 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,16 @@
+2014-12-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * 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.
+
2014-12-24 Andrew Burgess <andrew.burgess@embecosm.com>
* ld/testsuite/ld-avr/relax-elf-flags-02.d: Add -mno-link-relax
diff --git a/ld/testsuite/ld-arm/attr-merge-2.attr b/ld/testsuite/ld-arm/attr-merge-2.attr
index 578333b263..9f63df4600 100644
--- a/ld/testsuite/ld-arm/attr-merge-2.attr
+++ b/ld/testsuite/ld-arm/attr-merge-2.attr
@@ -11,4 +11,5 @@ File Attributes
Tag_ABI_align_needed: 8-byte
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
+ Tag_ABI_VFP_args: VFP registers
Tag_ABI_optimization_goals: Aggressive Debug
diff --git a/ld/testsuite/ld-arm/attr-merge-2a.s b/ld/testsuite/ld-arm/attr-merge-2a.s
index 03031634b0..8a7260cec6 100644
--- a/ld/testsuite/ld-arm/attr-merge-2a.s
+++ b/ld/testsuite/ld-arm/attr-merge-2a.s
@@ -6,5 +6,6 @@
.eabi_attribute 24, 1
.eabi_attribute 25, 1
.eabi_attribute 26, 1
+ .eabi_attribute 28, 3
.eabi_attribute 30, 6
.file "attr-merge-2a.s"
diff --git a/ld/testsuite/ld-arm/attr-merge-2b.s b/ld/testsuite/ld-arm/attr-merge-2b.s
index 047890a04d..a22776b71e 100644
--- a/ld/testsuite/ld-arm/attr-merge-2b.s
+++ b/ld/testsuite/ld-arm/attr-merge-2b.s
@@ -6,6 +6,7 @@
.eabi_attribute 24, 1
.eabi_attribute 25, 1
.eabi_attribute 26, 1
+ .eabi_attribute 28, 1
.eabi_attribute 30, 6
.eabi_attribute 18, 4
.file "attr-merge-2b.s"
diff --git a/ld/testsuite/ld-arm/attr-merge-4.attr b/ld/testsuite/ld-arm/attr-merge-4.attr
index 75fd063117..f74b02411d 100644
--- a/ld/testsuite/ld-arm/attr-merge-4.attr
+++ b/ld/testsuite/ld-arm/attr-merge-4.attr
@@ -5,4 +5,6 @@ File Attributes
Tag_CPU_arch_profile: Microcontroller
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
+ Tag_ABI_FP_number_model: IEEE 754
+ Tag_ABI_VFP_args: compatible
Tag_also_compatible_with: v6-M
diff --git a/ld/testsuite/ld-arm/attr-merge-4a.s b/ld/testsuite/ld-arm/attr-merge-4a.s
index b5b77bf136..9282fa217f 100644
--- a/ld/testsuite/ld-arm/attr-merge-4a.s
+++ b/ld/testsuite/ld-arm/attr-merge-4a.s
@@ -5,3 +5,6 @@
@ Tag_also_compatible_with = v6-M
.eabi_attribute Tag_also_compatible_with, "\006\013"
+
+ .eabi_attribute Tag_ABI_FP_number_model, 3
+ .eabi_attribute Tag_ABI_VFP_args, 3
diff --git a/ld/testsuite/ld-arm/attr-merge-4b.s b/ld/testsuite/ld-arm/attr-merge-4b.s
index d2eb6de681..2cf68df257 100644
--- a/ld/testsuite/ld-arm/attr-merge-4b.s
+++ b/ld/testsuite/ld-arm/attr-merge-4b.s
@@ -5,3 +5,6 @@
@ Tag_also_compatible_with = v4T
.eabi_attribute Tag_also_compatible_with, "\006\002"
+
+ .eabi_attribute Tag_ABI_FP_number_model, 0
+ .eabi_attribute Tag_ABI_VFP_args, 0
diff --git a/ld/testsuite/ld-arm/attr-merge-6.attr b/ld/testsuite/ld-arm/attr-merge-6.attr
index 0af32f7751..1ee5d40114 100644
--- a/ld/testsuite/ld-arm/attr-merge-6.attr
+++ b/ld/testsuite/ld-arm/attr-merge-6.attr
@@ -5,5 +5,6 @@ File Attributes
Tag_CPU_arch_profile: Application
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-2
+ Tag_ABI_FP_number_model: IEEE 754
Tag_MPextension_use: Allowed
Tag_Virtualization_use: TrustZone
diff --git a/ld/testsuite/ld-arm/attr-merge-6a.s b/ld/testsuite/ld-arm/attr-merge-6a.s
index 056d8c833a..0423bbf3b2 100644
--- a/ld/testsuite/ld-arm/attr-merge-6a.s
+++ b/ld/testsuite/ld-arm/attr-merge-6a.s
@@ -1,4 +1,6 @@
.cpu cortex-a9
.fpu softvfp
+ .eabi_attribute 23, 3
+ .eabi_attribute 28, 0
.eabi_attribute 70, 1
.file "attr-merge-6a.s"
diff --git a/ld/testsuite/ld-arm/attr-merge-6b.s b/ld/testsuite/ld-arm/attr-merge-6b.s
index b9ef4d2799..9383bcc338 100644
--- a/ld/testsuite/ld-arm/attr-merge-6b.s
+++ b/ld/testsuite/ld-arm/attr-merge-6b.s
@@ -1,3 +1,5 @@
.cpu cortex-a9
.fpu softvfp
+ .eabi_attribute 23, 3
+ .eabi_attribute 28, 3
.file "attr-merge-6b.s"