From f33026a96558ba9231ad91eb989ea6f347a15899 Mon Sep 17 00:00:00 2001 From: Matthew Wahab Date: Tue, 21 Jul 2015 09:43:35 +0100 Subject: [PATCH] [ARM] Support correctly spelled ARMv6KZ architecture names 2015-07-20 Matthew Wahab gas/ * NEWS: Mention corrected spelling of armv6kz. * config/tc-arm.c (arm_cpus): Replace ARM_ARCH_V6ZK with ARM_ARCH_V6KZ. (arm_archs): Likewise. Also add "armv6kz" and "armv6kzt2". * doc/c-arm.texi: Replace "armv6zk" with "armv6kz". gas/testsuite * gas/arm/attr-march-armv6kz.d: New. * gas/arm/attr-march-armv6kzt2.d: New. include/opcode * arm.h (ARM_AEXT_V6ZK): Rename to ARM_AEXT_V6KZ. (ARM_AEXT_V6ZKT2): Rename to ARM_AEXT_V6KZT2. (ARM_ARCH_V6ZK): Rename to ARM_ARCH_V6KZ. (ARM_ARCH_V6ZKT2): Rename to ARM_ARCH_V6KZT2. --- gas/ChangeLog | 8 ++++++++ gas/NEWS | 3 +++ gas/config/tc-arm.c | 14 ++++++++++---- gas/doc/c-arm.texi | 2 +- gas/testsuite/ChangeLog | 5 +++++ gas/testsuite/gas/arm/attr-march-armv6kz.d | 14 ++++++++++++++ gas/testsuite/gas/arm/attr-march-armv6kzt2.d | 14 ++++++++++++++ include/opcode/ChangeLog | 7 +++++++ include/opcode/arm.h | 8 ++++---- 9 files changed, 66 insertions(+), 9 deletions(-) create mode 100644 gas/testsuite/gas/arm/attr-march-armv6kz.d create mode 100644 gas/testsuite/gas/arm/attr-march-armv6kzt2.d diff --git a/gas/ChangeLog b/gas/ChangeLog index d024f40132..5ea9714978 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,11 @@ +2015-07-20 Matthew Wahab + + * NEWS: Mention corrected spelling of armv6kz. + * config/tc-arm.c (arm_cpus): Replace ARM_ARCH_V6ZK with + ARM_ARCH_V6KZ. + (arm_archs): Likewise. Also add "armv6kz" and "armv6kzt2". + * doc/c-arm.texi: Replace "armv6zk" with "armv6kz". + 2015-07-16 Jiong Wang * config/tc-aarch64.c (reloc_table): New relocation modifiers. diff --git a/gas/NEWS b/gas/NEWS index 986325d0b7..02a8d00943 100644 --- a/gas/NEWS +++ b/gas/NEWS @@ -2,6 +2,9 @@ Changes in 2.26: +* Added the correctly spelled -march=armv6kz, for ARMv6KZ support. The + previous spelling, -march=armv6zk, is still accepted. + * Support for the ARMv8.1 architecture has been added to the Aarch64 port. Support for the individual ARMv8.1 Adv.SIMD, LOR and PAN architecture extensions has also been added to the Aarch64 port. diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index a76b4ca62e..7b3b5c9cfe 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -24748,8 +24748,8 @@ static const struct arm_cpu_option_table arm_cpus[] = ARM_CPU_OPT ("mpcorenovfp", ARM_ARCH_V6K, FPU_NONE, "MPCore"), ARM_CPU_OPT ("arm1156t2-s", ARM_ARCH_V6T2, FPU_NONE, NULL), ARM_CPU_OPT ("arm1156t2f-s", ARM_ARCH_V6T2, FPU_ARCH_VFP_V2, NULL), - ARM_CPU_OPT ("arm1176jz-s", ARM_ARCH_V6ZK, FPU_NONE, NULL), - ARM_CPU_OPT ("arm1176jzf-s", ARM_ARCH_V6ZK, FPU_ARCH_VFP_V2, NULL), + ARM_CPU_OPT ("arm1176jz-s", ARM_ARCH_V6KZ, FPU_NONE, NULL), + ARM_CPU_OPT ("arm1176jzf-s", ARM_ARCH_V6KZ, FPU_ARCH_VFP_V2, NULL), ARM_CPU_OPT ("cortex-a5", ARM_ARCH_V7A_MP_SEC, FPU_NONE, "Cortex-A5"), ARM_CPU_OPT ("cortex-a7", ARM_ARCH_V7VE, FPU_ARCH_NEON_VFP_V4, @@ -24851,11 +24851,17 @@ static const struct arm_arch_option_table arm_archs[] = ARM_ARCH_OPT ("armv6j", ARM_ARCH_V6, FPU_ARCH_VFP), ARM_ARCH_OPT ("armv6k", ARM_ARCH_V6K, FPU_ARCH_VFP), ARM_ARCH_OPT ("armv6z", ARM_ARCH_V6Z, FPU_ARCH_VFP), - ARM_ARCH_OPT ("armv6zk", ARM_ARCH_V6ZK, FPU_ARCH_VFP), + /* The official spelling of this variant is ARMv6KZ, the name "armv6zk" is + kept to preserve existing behaviour. */ + ARM_ARCH_OPT ("armv6kz", ARM_ARCH_V6KZ, FPU_ARCH_VFP), + ARM_ARCH_OPT ("armv6zk", ARM_ARCH_V6KZ, FPU_ARCH_VFP), ARM_ARCH_OPT ("armv6t2", ARM_ARCH_V6T2, FPU_ARCH_VFP), ARM_ARCH_OPT ("armv6kt2", ARM_ARCH_V6KT2, FPU_ARCH_VFP), ARM_ARCH_OPT ("armv6zt2", ARM_ARCH_V6ZT2, FPU_ARCH_VFP), - ARM_ARCH_OPT ("armv6zkt2", ARM_ARCH_V6ZKT2, FPU_ARCH_VFP), + /* The official spelling of this variant is ARMv6KZ, the name "armv6zkt2" is + kept to preserve existing behaviour. */ + ARM_ARCH_OPT ("armv6kzt2", ARM_ARCH_V6KZT2, FPU_ARCH_VFP), + ARM_ARCH_OPT ("armv6zkt2", ARM_ARCH_V6KZT2, FPU_ARCH_VFP), ARM_ARCH_OPT ("armv6-m", ARM_ARCH_V6M, FPU_ARCH_VFP), ARM_ARCH_OPT ("armv6s-m", ARM_ARCH_V6SM, FPU_ARCH_VFP), ARM_ARCH_OPT ("armv7", ARM_ARCH_V7, FPU_ARCH_VFP), diff --git a/gas/doc/c-arm.texi b/gas/doc/c-arm.texi index 7fadd289d8..e41943bfe7 100644 --- a/gas/doc/c-arm.texi +++ b/gas/doc/c-arm.texi @@ -210,7 +210,7 @@ names are recognized: @code{armv6j}, @code{armv6k}, @code{armv6z}, -@code{armv6zk}, +@code{armv6kz}, @code{armv6-m}, @code{armv6s-m}, @code{armv7}, diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 8b3d0158bd..84eb9f2575 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-07-20 Matthew Wahab + + * gas/arm/attr-march-armv6kz.d: New. + * gas/arm/attr-march-armv6kzt2.d: New. + 2015-07-16 Jiong Wang * gas/aarch64/reloc-tlsldm-1.s: New testcase. diff --git a/gas/testsuite/gas/arm/attr-march-armv6kz.d b/gas/testsuite/gas/arm/attr-march-armv6kz.d new file mode 100644 index 0000000000..fa0b5a0093 --- /dev/null +++ b/gas/testsuite/gas/arm/attr-march-armv6kz.d @@ -0,0 +1,14 @@ +# name: attributes for -march=armv6kz +# source: blank.s +# as: -march=armv6kz +# readelf: -A +# This test is only valid on EABI based ports. +# target: *-*-*eabi* *-*-nacl* + +Attribute Section: aeabi +File Attributes + Tag_CPU_name: "6KZ" + Tag_CPU_arch: v6KZ + Tag_ARM_ISA_use: Yes + Tag_THUMB_ISA_use: Thumb-1 + Tag_Virtualization_use: TrustZone diff --git a/gas/testsuite/gas/arm/attr-march-armv6kzt2.d b/gas/testsuite/gas/arm/attr-march-armv6kzt2.d new file mode 100644 index 0000000000..1672a1f62b --- /dev/null +++ b/gas/testsuite/gas/arm/attr-march-armv6kzt2.d @@ -0,0 +1,14 @@ +# name: attributes for -march=armv6kzt2 +# source: blank.s +# as: -march=armv6kzt2 +# readelf: -A +# This test is only valid on EABI based ports. +# target: *-*-*eabi* *-*-nacl* + +Attribute Section: aeabi +File Attributes + Tag_CPU_name: "6KZT2" + Tag_CPU_arch: v6T2 + Tag_ARM_ISA_use: Yes + Tag_THUMB_ISA_use: Thumb-2 + Tag_Virtualization_use: TrustZone diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index 2f86116691..9643ce1ce8 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,10 @@ +2015-07-20 Matthew Wahab + + * arm.h (ARM_AEXT_V6ZK): Rename to ARM_AEXT_V6KZ. + (ARM_AEXT_V6ZKT2): Rename to ARM_AEXT_V6KZT2. + (ARM_ARCH_V6ZK): Rename to ARM_ARCH_V6KZ. + (ARM_ARCH_V6ZKT2): Rename to ARM_ARCH_V6KZT2. + 2015-07-03 Alan Modra * ppc.h (PPC_OPCODE_750, PPC_OPCODE_7450, PPC_OPCODE_860): Define. diff --git a/include/opcode/arm.h b/include/opcode/arm.h index a5aa3a1bf3..41f056424a 100644 --- a/include/opcode/arm.h +++ b/include/opcode/arm.h @@ -111,13 +111,13 @@ #define ARM_AEXT_V6 (ARM_AEXT_V5TEJ | ARM_EXT_V6) #define ARM_AEXT_V6K (ARM_AEXT_V6 | ARM_EXT_V6K) #define ARM_AEXT_V6Z (ARM_AEXT_V6K | ARM_EXT_SEC) -#define ARM_AEXT_V6ZK (ARM_AEXT_V6K | ARM_EXT_SEC) +#define ARM_AEXT_V6KZ (ARM_AEXT_V6K | ARM_EXT_SEC) #define ARM_AEXT_V6T2 (ARM_AEXT_V6 \ | ARM_EXT_V6T2 | ARM_EXT_V6_NOTM | ARM_EXT_THUMB_MSR \ | ARM_EXT_V6_DSP ) #define ARM_AEXT_V6KT2 (ARM_AEXT_V6T2 | ARM_EXT_V6K) #define ARM_AEXT_V6ZT2 (ARM_AEXT_V6T2 | ARM_EXT_SEC) -#define ARM_AEXT_V6ZKT2 (ARM_AEXT_V6T2 | ARM_EXT_V6K | ARM_EXT_SEC) +#define ARM_AEXT_V6KZT2 (ARM_AEXT_V6T2 | ARM_EXT_V6K | ARM_EXT_SEC) #define ARM_AEXT_V7_ARM (ARM_AEXT_V6KT2 | ARM_EXT_V7 | ARM_EXT_BARRIER) #define ARM_AEXT_V7A (ARM_AEXT_V7_ARM | ARM_EXT_V7A) #define ARM_AEXT_V7VE (ARM_AEXT_V7A | ARM_EXT_DIV | ARM_EXT_ADIV \ @@ -236,11 +236,11 @@ #define ARM_ARCH_V6 ARM_FEATURE_CORE_LOW (ARM_AEXT_V6) #define ARM_ARCH_V6K ARM_FEATURE_CORE_LOW (ARM_AEXT_V6K) #define ARM_ARCH_V6Z ARM_FEATURE_CORE_LOW (ARM_AEXT_V6Z) -#define ARM_ARCH_V6ZK ARM_FEATURE_CORE_LOW (ARM_AEXT_V6ZK) +#define ARM_ARCH_V6KZ ARM_FEATURE_CORE_LOW (ARM_AEXT_V6KZ) #define ARM_ARCH_V6T2 ARM_FEATURE_CORE_LOW (ARM_AEXT_V6T2) #define ARM_ARCH_V6KT2 ARM_FEATURE_CORE_LOW (ARM_AEXT_V6KT2) #define ARM_ARCH_V6ZT2 ARM_FEATURE_CORE_LOW (ARM_AEXT_V6ZT2) -#define ARM_ARCH_V6ZKT2 ARM_FEATURE_CORE_LOW (ARM_AEXT_V6ZKT2) +#define ARM_ARCH_V6KZT2 ARM_FEATURE_CORE_LOW (ARM_AEXT_V6KZT2) #define ARM_ARCH_V6M ARM_FEATURE_CORE_LOW (ARM_AEXT_V6M) #define ARM_ARCH_V6SM ARM_FEATURE_CORE_LOW (ARM_AEXT_V6SM) #define ARM_ARCH_V7 ARM_FEATURE_CORE_LOW (ARM_AEXT_V7) -- 2.34.1