diff options
author | Terry Guo <terry.guo@arm.com> | 2014-11-21 11:31:37 +0800 |
---|---|---|
committer | Terry Guo <terry.guo@arm.com> | 2014-11-21 11:36:06 +0800 |
commit | a715796ba188e7ca9eac6e613439b63fe50a677d (patch) | |
tree | 4dd6a5f47fddcb7f5690e03ee49b51986bc0ffd8 /ld | |
parent | 45e44d277a1b558bb77ea0a1962172a06be26594 (diff) | |
download | gdb-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/ChangeLog | 21 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/arm-elf.exp | 14 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-10.d | 14 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-10r.d | 14 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-11.d | 13 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-11r.d | 13 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-12.d | 14 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-12r.d | 14 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-13.d | 14 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-13r.d | 14 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-14.d | 14 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-14r.d | 14 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-4-sp.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-5-sp.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-5.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-8.d | 14 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-8r.d | 14 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-9.d | 14 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-9r.d | 14 |
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 |