Fix AArch32 build attributes for Armv8.4-A.
authorTamar Christina <tamar.christina@arm.com>
Thu, 15 Feb 2018 17:08:14 +0000 (17:08 +0000)
committerTamar Christina <tamar.christina@arm.com>
Thu, 15 Feb 2018 17:09:07 +0000 (17:09 +0000)
The build attribute number for Armv8.4-A is currently incorrectly set to that of Armv8-M.
This patch fixes that by setting it as part of the Armv8-A family and adds a test for it.

gas/
2018-02-15  Tamar Christina  <tamar.christina@arm.com>

* config/tc-arm.c (cpu_arch_ver): Renumber ARM_ARCH_V8_4A.
* testsuite/gas/arm/attr-march-armv8_4-a.d: New.

gas/ChangeLog
gas/config/tc-arm.c
gas/testsuite/gas/arm/attr-march-armv8_4-a.d [new file with mode: 0644]

index 3d9b50fc329091020cafd9b6b02075a02146025b..22dc882689746bb7988677ffada5f862d83f26d4 100644 (file)
@@ -1,3 +1,8 @@
+2018-02-15  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/tc-arm.c (cpu_arch_ver): Renumber ARM_ARCH_V8_4A.
+       * testsuite/gas/arm/attr-march-armv8_4-a.d: New.
+
 2018-02-13  Max Filippov  <jcmvbkbc@gmail.com>
 
        * config/tc-xtensa.c (xg_find_best_trampoline): Skip trampoline
index 7a5c02b2bb872453c87b33308c1bda8819c7bafa..cac4ed9ab9712735bc8b3fb438add6267e2c0e51 100644 (file)
@@ -26941,7 +26941,7 @@ static const cpu_arch_ver_table cpu_arch_ver[] =
     {16, ARM_ARCH_V8M_BASE},
     {17, ARM_ARCH_V8M_MAIN},
     {15, ARM_ARCH_V8R},
-    {16, ARM_ARCH_V8_4A},
+    {14, ARM_ARCH_V8_4A},
     {-1, ARM_ARCH_NONE}
 };
 
diff --git a/gas/testsuite/gas/arm/attr-march-armv8_4-a.d b/gas/testsuite/gas/arm/attr-march-armv8_4-a.d
new file mode 100644 (file)
index 0000000..af3e52b
--- /dev/null
@@ -0,0 +1,17 @@
+# name: attributes for -march=armv8.4-a
+# source: blank.s
+# as: -march=armv8.4-a
+# readelf: -A
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+Attribute Section: aeabi
+File Attributes
+  Tag_CPU_name: "8.4-A"
+  Tag_CPU_arch: v8
+  Tag_CPU_arch_profile: Application
+  Tag_ARM_ISA_use: Yes
+  Tag_THUMB_ISA_use: Thumb-2
+  Tag_Advanced_SIMD_arch: NEON for ARMv8.1
+  Tag_MPextension_use: Allowed
+  Tag_Virtualization_use: TrustZone and Virtualization Extensions