diff options
author | Matthew Gretton-Dann <matthew.gretton-dann@arm.com> | 2012-08-24 07:50:38 +0000 |
---|---|---|
committer | Matthew Gretton-Dann <matthew.gretton-dann@arm.com> | 2012-08-24 07:50:38 +0000 |
commit | bca3892142429f819023a157be90c4d855cf93f8 (patch) | |
tree | 76e277e2b62f2589618489e945121e66bac4abbb /ld/testsuite/ld-arm | |
parent | ecfb0d68c570de8a5e29858d104d82a76982de15 (diff) | |
download | gdb-bca3892142429f819023a157be90c4d855cf93f8.zip gdb-bca3892142429f819023a157be90c4d855cf93f8.tar.gz gdb-bca3892142429f819023a157be90c4d855cf93f8.tar.bz2 |
* bfd/elf32-arm.c (v8): New array.
(tag_cpu_arch_combine): Add support for ARMv8 attributes.
(elf32_arm_merge_eabi_attributes): Likewise.
(VFP_VERSION_COUNT): New define.
* binutils/readelf.c (arm_attr_tag_CPU_arch): Update for ARMv8.
(arm_attr_tag_FP_arch): Likewise.
(arm_attr_tag_Advanced_SIMD_arch): Likewise.
* gas/config/tc-arm.h (arm_ext_v8): New variable.
(fpu_vfp_ext_armv8): Likewise.
(fpu_neon_ext_armv8): Likewise.
(fpu_crypto_ext_armv8): Likewise.
(arm_archs): Add armv8-a.
(arm_extensions): Add crypto, fp, and simd.
(arm_fpus): Add fp-armv8, neon-fp-armv8, crypto-neon-fp-armv8.
(cpu_arch_ver): Add support for ARMv8.
(aeabi_set_public_sttributes): Likewise.
* gas/doc/c-arm.texi (ARM Options): Document new architecture and
extension options for ARMv8.
* gas/testsuite/gas/arm/attr-march-all.d: Update for change in expected
output.
* gas/testsuite/gas/arm/attr-mfpu-vfpv4-d16.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpv4.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv8-a+crypto.d: New testcase.
* gas/testsuite/gas/arm/attr-march-armv8-a+fp.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv8-a+simd.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv8-a.d: Likewise.
* include/elf/arm.h (TAG_CPU_ARCH_V8): New define.
(MAX_TAG_CPU_ARCH): Update.
* include/opcode/arm.h (ARM_EXT_V8): New define.
(FPU_VFP_EXT_ARMV8): Likewise.
(FPU_NEON_EXT_ARMV8): Likewise.
(FPU_CRYPTO_EXT_ARMV8): Likewise.
(ARM_AEXT_V8A): Likewise.
(FPU_VFP_ARMV8): Likwise.
(FPU_NEON_ARMV8): Likewise.
(FPU_CRYPTO_ARMV8): Likewise.
(FPU_ARCH_VFP_ARMV8): Likewise.
(FPU_ARCH_NEON_VFP_ARMV8): Likewise.
(FPU_ARCH_CRYPTO_NEON_VFP_ARMV8): Likewise.
(ARM_ARCH_V8A): Likwise.
(ARM_ARCH_V8A_FP): Likewise.
(ARM_ARCH_V8A_SIMD): Likewise.
(ARM_ARCH_V8A_CRYPTO): Likewise.
* ld/testsuite/ld-arm/arm-elf.exp: Add new testcases.
* ld/testsuite/ld-arm/attr-merge-vfp-3.d: Update for change in expected
output.
* ld/testsuite/ld-arm/attr-merge-vfp-3r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-4.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-4r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-5.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-5r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-7.d: New testcase.
* ld/testsuite/ld-arm/attr-merge-vfp-7r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-armv8-hard.s: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-armv8.s: Likewise.
Diffstat (limited to 'ld/testsuite/ld-arm')
-rw-r--r-- | ld/testsuite/ld-arm/arm-elf.exp | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-3.d | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-3r.d | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-4.d | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-4r.d | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-5.d | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-5r.d | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-7.d | 14 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-7r.d | 14 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-armv8-hard.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-vfp-armv8.s | 2 |
11 files changed, 34 insertions, 6 deletions
diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp index 3f2bf92..8e15ffe 100644 --- a/ld/testsuite/ld-arm/arm-elf.exp +++ b/ld/testsuite/ld-arm/arm-elf.exp @@ -767,6 +767,8 @@ run_dump_test "attr-merge-vfp-5" run_dump_test "attr-merge-vfp-5r" 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-incompatible" run_dump_test "unresolved-1" if { ![istarget "arm*-*-nacl*"] } { diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-3.d b/ld/testsuite/ld-arm/attr-merge-vfp-3.d index ee89384..8f9d2e7 100644 --- a/ld/testsuite/ld-arm/attr-merge-vfp-3.d +++ b/ld/testsuite/ld-arm/attr-merge-vfp-3.d @@ -11,4 +11,3 @@ File Attributes Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 Tag_FP_arch: VFPv4-D16 - Tag_FP_HP_extension: Allowed diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-3r.d b/ld/testsuite/ld-arm/attr-merge-vfp-3r.d index d06bd27..ab0ff33 100644 --- a/ld/testsuite/ld-arm/attr-merge-vfp-3r.d +++ b/ld/testsuite/ld-arm/attr-merge-vfp-3r.d @@ -11,4 +11,3 @@ File Attributes Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 Tag_FP_arch: VFPv4-D16 - Tag_FP_HP_extension: Allowed diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-4.d b/ld/testsuite/ld-arm/attr-merge-vfp-4.d index c18d672..e51a41b 100644 --- a/ld/testsuite/ld-arm/attr-merge-vfp-4.d +++ b/ld/testsuite/ld-arm/attr-merge-vfp-4.d @@ -11,4 +11,3 @@ File Attributes Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 Tag_FP_arch: VFPv4 - Tag_FP_HP_extension: Allowed diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-4r.d b/ld/testsuite/ld-arm/attr-merge-vfp-4r.d index 327e0c3..6d19a60 100644 --- a/ld/testsuite/ld-arm/attr-merge-vfp-4r.d +++ b/ld/testsuite/ld-arm/attr-merge-vfp-4r.d @@ -11,4 +11,3 @@ File Attributes Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 Tag_FP_arch: VFPv4 - Tag_FP_HP_extension: Allowed diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-5.d b/ld/testsuite/ld-arm/attr-merge-vfp-5.d index cd55a86..650b264 100644 --- a/ld/testsuite/ld-arm/attr-merge-vfp-5.d +++ b/ld/testsuite/ld-arm/attr-merge-vfp-5.d @@ -11,4 +11,3 @@ File Attributes Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 Tag_FP_arch: VFPv4 - Tag_FP_HP_extension: Allowed diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-5r.d b/ld/testsuite/ld-arm/attr-merge-vfp-5r.d index 505c31b..f5fb7d7 100644 --- a/ld/testsuite/ld-arm/attr-merge-vfp-5r.d +++ b/ld/testsuite/ld-arm/attr-merge-vfp-5r.d @@ -11,4 +11,3 @@ File Attributes Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 Tag_FP_arch: VFPv4 - Tag_FP_HP_extension: Allowed diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-7.d b/ld/testsuite/ld-arm/attr-merge-vfp-7.d new file mode 100644 index 0000000..6b1f9c9 --- /dev/null +++ b/ld/testsuite/ld-arm/attr-merge-vfp-7.d @@ -0,0 +1,14 @@ +#source: attr-merge-vfp-armv8.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-7r.d b/ld/testsuite/ld-arm/attr-merge-vfp-7r.d new file mode 100644 index 0000000..6b1f9c9 --- /dev/null +++ b/ld/testsuite/ld-arm/attr-merge-vfp-7r.d @@ -0,0 +1,14 @@ +#source: attr-merge-vfp-armv8.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-armv8-hard.s b/ld/testsuite/ld-arm/attr-merge-vfp-armv8-hard.s new file mode 100644 index 0000000..6457974 --- /dev/null +++ b/ld/testsuite/ld-arm/attr-merge-vfp-armv8-hard.s @@ -0,0 +1,2 @@ +.fpu fp-armv8 +.eabi_attribute Tag_ABI_HardFP_use, 3 diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-armv8.s b/ld/testsuite/ld-arm/attr-merge-vfp-armv8.s new file mode 100644 index 0000000..a7679cd --- /dev/null +++ b/ld/testsuite/ld-arm/attr-merge-vfp-armv8.s @@ -0,0 +1,2 @@ +.fpu fp-armv8 + |