aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorTerry Guo <terry.guo@arm.com>2014-11-21 11:31:37 +0800
committerTerry Guo <terry.guo@arm.com>2014-11-21 11:36:06 +0800
commita715796ba188e7ca9eac6e613439b63fe50a677d (patch)
tree4dd6a5f47fddcb7f5690e03ee49b51986bc0ffd8 /ld
parent45e44d277a1b558bb77ea0a1962172a06be26594 (diff)
downloadgdb-a715796ba188e7ca9eac6e613439b63fe50a677d.zip
gdb-a715796ba188e7ca9eac6e613439b63fe50a677d.tar.gz
gdb-a715796ba188e7ca9eac6e613439b63fe50a677d.tar.bz2
Support ARM Cortex-M7
include/ChangeLog: 2014-11-21 Terry Guo <terry.guo@arm.com> * opcode/arm.h (FPU_VFP_EXT_ARMV8xD): New macro. (FPU_VFP_V5D16): Likewise. (FPU_VFP_V5_SP_D16): Likewise. (FPU_ARCH_VFP_V5D16): Likewise. (FPU_ARCH_VFP_V5_SP_D16): Likewise. bfd/ChangeLog: 2014-11-21 Terry Guo <terry.guo@arm.com> * elf32-arm.c (elf32_arm_merge_eabi_attributes): Support FPv5. binutils/ChangeLog: 2014-11-21 Terry Guo <terry.guo@arm.com> * readelf.c (arm_attr_tag_FP_arch): Extended to support FPv5. gas/ChangeLog: 2014-11-21 Terry Guo <terry.guo@arm.com> * config/tc-arm.c (fpu_vfp_ext_armv8xd): New. (arm_cpus): Support cortex-m7. (arm_fpus): Support fpv5-sp-d16 and fpv5-d16. (do_vfp_nsyn_cvt_fpv8): Generate error when use D register for S register only target like FPv5-SP-D16. (do_neon_cvttb_1): Likewise. (do_vfp_nsyn_fpv8): Likewise. (do_vrint_1): Likewise. (aeabi_set_public_attributes): Set proper FP arch for FPv5. * doc/c-arm.texi: Document new cpu and fpu names for cortex-m7. gas/testsuite/ChangeLog: 2014-11-21 Terry Guo <terry.guo@arm.com> * gas/arm/armv7e-m+fpv5-d16.s: New. * gas/arm/armv7e-m+fpv5-d16.d: Likewise. * gas/arm/armv7e-m+fpv5-sp-d16.s: Likewise. * gas/arm/armv7e-m+fpv5-sp-d16.d: Likewise. ld/testsuite/ChangeLog: 2014-11-21 Terry Guo <terry.guo@arm.com> * ld-arm/attr-merge-vfp-4-sp.s: New test source file. * ld-arm/attr-merge-vfp-5-sp.s: Likewise. * ld-arm/attr-merge-vfp-5.s: Likewise. * ld-arm/attr-merge-vfp-8.d: New test. * ld-arm/attr-merge-vfp-8r.d: Likewise. * ld-arm/attr-merge-vfp-9.d: Likewise. * ld-arm/attr-merge-vfp-9r.d: Likewise. * ld-arm/attr-merge-vfp-10.d: Likewise. * ld-arm/attr-merge-vfp-10r.d: Likewise. * ld-arm/attr-merge-vfp-11.d: Likewise. * ld-arm/attr-merge-vfp-11r.d: Likewise. * ld-arm/attr-merge-vfp-12.d: Likewise. * ld-arm/attr-merge-vfp-12r.d: Likewise. * ld-arm/attr-merge-vfp-13.d: Likewise. * ld-arm/attr-merge-vfp-13r.d: Likewise. * ld-arm/attr-merge-vfp-14.d: Likewise. * ld-arm/attr-merge-vfp-14r.d: Likewise. * ld-arm/arm-elf.exp: Run the new tests.
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ChangeLog21
-rw-r--r--ld/testsuite/ld-arm/arm-elf.exp14
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-10.d14
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-10r.d14
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-11.d13
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-11r.d13
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-12.d14
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-12r.d14
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-13.d14
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-13r.d14
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-14.d14
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-14r.d14
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-4-sp.s2
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-5-sp.s2
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-5.s2
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-8.d14
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-8r.d14
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-9.d14
-rw-r--r--ld/testsuite/ld-arm/attr-merge-vfp-9r.d14
19 files changed, 235 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 8e69a89..c1b97bb 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,24 @@
+2014-11-21 Terry Guo <terry.guo@arm.com>
+
+ * ld-arm/attr-merge-vfp-4-sp.s: New test source file.
+ * ld-arm/attr-merge-vfp-5-sp.s: Likewise.
+ * ld-arm/attr-merge-vfp-5.s: Likewise.
+ * ld-arm/attr-merge-vfp-8.d: New test.
+ * ld-arm/attr-merge-vfp-8r.d: Likewise.
+ * ld-arm/attr-merge-vfp-9.d: Likewise.
+ * ld-arm/attr-merge-vfp-9r.d: Likewise.
+ * ld-arm/attr-merge-vfp-10.d: Likewise.
+ * ld-arm/attr-merge-vfp-10r.d: Likewise.
+ * ld-arm/attr-merge-vfp-11.d: Likewise.
+ * ld-arm/attr-merge-vfp-11r.d: Likewise.
+ * ld-arm/attr-merge-vfp-12.d: Likewise.
+ * ld-arm/attr-merge-vfp-12r.d: Likewise.
+ * ld-arm/attr-merge-vfp-13.d: Likewise.
+ * ld-arm/attr-merge-vfp-13r.d: Likewise.
+ * ld-arm/attr-merge-vfp-14.d: Likewise.
+ * ld-arm/attr-merge-vfp-14r.d: Likewise.
+ * ld-arm/arm-elf.exp: Run the new tests.
+
2014-11-20 H.J. Lu <hongjiu.lu@intel.com>
* ld-x86-64/pr17618.d: Don't run on x32.
diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp
index d00b74d..8aacb69 100644
--- a/ld/testsuite/ld-arm/arm-elf.exp
+++ b/ld/testsuite/ld-arm/arm-elf.exp
@@ -877,6 +877,20 @@ run_dump_test "attr-merge-vfp-6"
run_dump_test "attr-merge-vfp-6r"
run_dump_test "attr-merge-vfp-7"
run_dump_test "attr-merge-vfp-7r"
+run_dump_test "attr-merge-vfp-8"
+run_dump_test "attr-merge-vfp-8r"
+run_dump_test "attr-merge-vfp-9"
+run_dump_test "attr-merge-vfp-9r"
+run_dump_test "attr-merge-vfp-10"
+run_dump_test "attr-merge-vfp-10r"
+run_dump_test "attr-merge-vfp-11"
+run_dump_test "attr-merge-vfp-11r"
+run_dump_test "attr-merge-vfp-12"
+run_dump_test "attr-merge-vfp-12r"
+run_dump_test "attr-merge-vfp-13"
+run_dump_test "attr-merge-vfp-13r"
+run_dump_test "attr-merge-vfp-14"
+run_dump_test "attr-merge-vfp-14r"
run_dump_test "attr-merge-incompatible"
run_dump_test "attr-merge-arch-2"
run_dump_test "attr-merge-nosection-1"
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-10.d b/ld/testsuite/ld-arm/attr-merge-vfp-10.d
new file mode 100644
index 0000000..f32f119
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-10.d
@@ -0,0 +1,14 @@
+#source: attr-merge-vfp-5.s
+#source: attr-merge-vfp-4-sp.s
+#as:
+#ld: -r
+#readelf: -A
+# This test is only valid on ELF based ports.
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+
+Attribute Section: aeabi
+File Attributes
+ Tag_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_FP_arch: FPv5/FP-D16 for ARMv8
+ Tag_ABI_HardFP_use: SP and DP
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-10r.d b/ld/testsuite/ld-arm/attr-merge-vfp-10r.d
new file mode 100644
index 0000000..35e0f77
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-10r.d
@@ -0,0 +1,14 @@
+#source: attr-merge-vfp-4-sp.s
+#source: attr-merge-vfp-5.s
+#as:
+#ld: -r
+#readelf: -A
+# This test is only valid on ELF based ports.
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+
+Attribute Section: aeabi
+File Attributes
+ Tag_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_FP_arch: FPv5/FP-D16 for ARMv8
+ Tag_ABI_HardFP_use: SP and DP
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-11.d b/ld/testsuite/ld-arm/attr-merge-vfp-11.d
new file mode 100644
index 0000000..428410b
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-11.d
@@ -0,0 +1,13 @@
+#source: attr-merge-vfp-5.s
+#source: attr-merge-vfp-armv8.s
+#as:
+#ld: -r
+#readelf: -A
+# This test is only valid on ELF based ports.
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+
+Attribute Section: aeabi
+File Attributes
+ Tag_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_FP_arch: FP for ARMv8
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-11r.d b/ld/testsuite/ld-arm/attr-merge-vfp-11r.d
new file mode 100644
index 0000000..fec7983
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-11r.d
@@ -0,0 +1,13 @@
+#source: attr-merge-vfp-armv8.s
+#source: attr-merge-vfp-5.s
+#as:
+#ld: -r
+#readelf: -A
+# This test is only valid on ELF based ports.
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+
+Attribute Section: aeabi
+File Attributes
+ Tag_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_FP_arch: FP for ARMv8
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-12.d b/ld/testsuite/ld-arm/attr-merge-vfp-12.d
new file mode 100644
index 0000000..f6dff81
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-12.d
@@ -0,0 +1,14 @@
+#source: attr-merge-vfp-5-sp.s
+#source: attr-merge-vfp-armv8.s
+#as:
+#ld: -r
+#readelf: -A
+# This test is only valid on ELF based ports.
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+
+Attribute Section: aeabi
+File Attributes
+ Tag_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_FP_arch: FP for ARMv8
+ Tag_ABI_HardFP_use: SP and DP
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-12r.d b/ld/testsuite/ld-arm/attr-merge-vfp-12r.d
new file mode 100644
index 0000000..1ce719d
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-12r.d
@@ -0,0 +1,14 @@
+#source: attr-merge-vfp-armv8.s
+#source: attr-merge-vfp-5-sp.s
+#as:
+#ld: -r
+#readelf: -A
+# This test is only valid on ELF based ports.
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+
+Attribute Section: aeabi
+File Attributes
+ Tag_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_FP_arch: FP for ARMv8
+ Tag_ABI_HardFP_use: SP and DP
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-13.d b/ld/testsuite/ld-arm/attr-merge-vfp-13.d
new file mode 100644
index 0000000..b79f606
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-13.d
@@ -0,0 +1,14 @@
+#source: attr-merge-vfp-5.s
+#source: attr-merge-vfp-armv8-hard.s
+#as:
+#ld: -r
+#readelf: -A
+# This test is only valid on ELF based ports.
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+
+Attribute Section: aeabi
+File Attributes
+ Tag_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_FP_arch: FP for ARMv8
+ Tag_ABI_HardFP_use: SP and DP
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-13r.d b/ld/testsuite/ld-arm/attr-merge-vfp-13r.d
new file mode 100644
index 0000000..4633d4e
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-13r.d
@@ -0,0 +1,14 @@
+#source: attr-merge-vfp-armv8-hard.s
+#source: attr-merge-vfp-5.s
+#as:
+#ld: -r
+#readelf: -A
+# This test is only valid on ELF based ports.
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+
+Attribute Section: aeabi
+File Attributes
+ Tag_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_FP_arch: FP for ARMv8
+ Tag_ABI_HardFP_use: SP and DP
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-14.d b/ld/testsuite/ld-arm/attr-merge-vfp-14.d
new file mode 100644
index 0000000..b93ef50
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-14.d
@@ -0,0 +1,14 @@
+#source: attr-merge-vfp-5-sp.s
+#source: attr-merge-vfp-armv8-hard.s
+#as:
+#ld: -r
+#readelf: -A
+# This test is only valid on ELF based ports.
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+
+Attribute Section: aeabi
+File Attributes
+ Tag_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_FP_arch: FP for ARMv8
+ Tag_ABI_HardFP_use: SP and DP
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-14r.d b/ld/testsuite/ld-arm/attr-merge-vfp-14r.d
new file mode 100644
index 0000000..2563938
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-14r.d
@@ -0,0 +1,14 @@
+#source: attr-merge-vfp-armv8-hard.s
+#source: attr-merge-vfp-5-sp.s
+#as:
+#ld: -r
+#readelf: -A
+# This test is only valid on ELF based ports.
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+
+Attribute Section: aeabi
+File Attributes
+ Tag_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_FP_arch: FP for ARMv8
+ Tag_ABI_HardFP_use: SP and DP
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-4-sp.s b/ld/testsuite/ld-arm/attr-merge-vfp-4-sp.s
new file mode 100644
index 0000000..71527df
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-4-sp.s
@@ -0,0 +1,2 @@
+.fpu fpv4-sp-d16
+
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-5-sp.s b/ld/testsuite/ld-arm/attr-merge-vfp-5-sp.s
new file mode 100644
index 0000000..a617adc
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-5-sp.s
@@ -0,0 +1,2 @@
+.fpu fpv5-sp-d16
+
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-5.s b/ld/testsuite/ld-arm/attr-merge-vfp-5.s
new file mode 100644
index 0000000..cee3863
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-5.s
@@ -0,0 +1,2 @@
+.fpu fpv5-d16
+
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-8.d b/ld/testsuite/ld-arm/attr-merge-vfp-8.d
new file mode 100644
index 0000000..78b74af
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-8.d
@@ -0,0 +1,14 @@
+#source: attr-merge-vfp-5.s
+#source: attr-merge-vfp-5-sp.s
+#as:
+#ld: -r
+#readelf: -A
+# This test is only valid on ELF based ports.
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+
+Attribute Section: aeabi
+File Attributes
+ Tag_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_FP_arch: FPv5/FP-D16 for ARMv8
+ Tag_ABI_HardFP_use: SP and DP
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-8r.d b/ld/testsuite/ld-arm/attr-merge-vfp-8r.d
new file mode 100644
index 0000000..1fd5d63
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-8r.d
@@ -0,0 +1,14 @@
+#source: attr-merge-vfp-5-sp.s
+#source: attr-merge-vfp-5.s
+#as:
+#ld: -r
+#readelf: -A
+# This test is only valid on ELF based ports.
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+
+Attribute Section: aeabi
+File Attributes
+ Tag_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_FP_arch: FPv5/FP-D16 for ARMv8
+ Tag_ABI_HardFP_use: SP and DP
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-9.d b/ld/testsuite/ld-arm/attr-merge-vfp-9.d
new file mode 100644
index 0000000..bdf3bc1
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-9.d
@@ -0,0 +1,14 @@
+#source: attr-merge-vfp-4-sp.s
+#source: attr-merge-vfp-5-sp.s
+#as:
+#ld: -r
+#readelf: -A
+# This test is only valid on ELF based ports.
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+
+Attribute Section: aeabi
+File Attributes
+ Tag_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_FP_arch: FPv5/FP-D16 for ARMv8
+ Tag_ABI_HardFP_use: SP only
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-9r.d b/ld/testsuite/ld-arm/attr-merge-vfp-9r.d
new file mode 100644
index 0000000..78ead24
--- /dev/null
+++ b/ld/testsuite/ld-arm/attr-merge-vfp-9r.d
@@ -0,0 +1,14 @@
+#source: attr-merge-vfp-5-sp.s
+#source: attr-merge-vfp-4-sp.s
+#as:
+#ld: -r
+#readelf: -A
+# This test is only valid on ELF based ports.
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+
+Attribute Section: aeabi
+File Attributes
+ Tag_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_FP_arch: FPv5/FP-D16 for ARMv8
+ Tag_ABI_HardFP_use: SP only