aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>2021-07-01 11:37:13 +0100
committerRichard Earnshaw <rearnsha@arm.com>2021-07-01 17:47:11 +0100
commit687dd74c9bac7b746ea69e4ea070adff05226b13 (patch)
tree98de6b5f64d0a6284234126b0dc7640aaab757ec
parentbd374cc2dcce3a3659341be462a4691daf8f2494 (diff)
downloadgdb-687dd74c9bac7b746ea69e4ea070adff05226b13.zip
gdb-687dd74c9bac7b746ea69e4ea070adff05226b13.tar.gz
gdb-687dd74c9bac7b746ea69e4ea070adff05226b13.tar.bz2
arm: don't treat XScale features as part of the FPU [PR 28031]
Although the XScale and its iwMMX extensions are implemented in the Arm co-processor space, they are not considered to be part of the FPU specification. In particular, they cannot be enabled or disabled via a .fpu directive. It's therefore incorrect to strip these properties when a new .fpu directive is encountered. Note that the legacy Maverick co-processor is considered to be a FPU and it is possible to control this via the .fpu directive. include: PR gas/28031 * opcode/arm.h (FPU_ANY): Exclude XScale-related features.
-rw-r--r--include/ChangeLog5
-rw-r--r--include/opcode/arm.h2
2 files changed, 6 insertions, 1 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index f692e37..b4276ec 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,8 @@
+2021-07-01 Richard Earnshaw <rearnsha@arm.com>
+
+ PR gas/28031
+ * opcode/arm.h (FPU_ANY): Exclude XScale-related features.
+
2021-02-19 Andreas Krebbel <krebbel@linux.ibm.com>
* opcode/s390.h (enum s390_opcode_cpu_val): Add
diff --git a/include/opcode/arm.h b/include/opcode/arm.h
index 03a8071..90c09a7 100644
--- a/include/opcode/arm.h
+++ b/include/opcode/arm.h
@@ -383,7 +383,7 @@
#define ARM_ARCH_NONE ARM_FEATURE_LOW (0, 0)
#define FPU_NONE ARM_FEATURE_LOW (0, 0)
#define ARM_ANY ARM_FEATURE (-1, -1 & ~ (ARM_EXT2_MVE | ARM_EXT2_MVE_FP), 0) /* Any basic core. */
-#define FPU_ANY ARM_FEATURE_COPROC (-1) /* Any FPU. */
+#define FPU_ANY ARM_FEATURE_COPROC (-1 & ~(ARM_CEXT_XSCALE | ARM_CEXT_IWMMXT | ARM_CEXT_IWMMXT2)) /* Any FPU. */
#define FPU_ANY_HARD ARM_FEATURE_COPROC (FPU_FPA | FPU_VFP_HARD | FPU_MAVERICK)
/* Extensions containing some Thumb-2 instructions. If any is present, Thumb
ISA is Thumb-2. */