diff options
author | Matthew Gretton-Dann <matthew.gretton-dann@arm.com> | 2010-11-15 10:03:05 +0000 |
---|---|---|
committer | Matthew Gretton-Dann <matthew.gretton-dann@arm.com> | 2010-11-15 10:03:05 +0000 |
commit | 251665fc5f2083d8ca987a30534918fec6b3b969 (patch) | |
tree | def0a81480e42d68e698e8f66d1fc968c8740900 /include/opcode/arm.h | |
parent | 6936240e66f9641073c9a399bb1c0e20bbde7f97 (diff) | |
download | gdb-251665fc5f2083d8ca987a30534918fec6b3b969.zip gdb-251665fc5f2083d8ca987a30534918fec6b3b969.tar.gz gdb-251665fc5f2083d8ca987a30534918fec6b3b969.tar.bz2 |
PR gas/12198
* gas/config/tc-arm.c (arm_arch_v6m_only): New variable.
(aeabi_set_public_attributes): Ensure we only set the Operating System
Extension when we are on an M-profile core.
* gas/testsuite/gas/arm/pr12198-1.d: New test.
* gas/testsuite/gas/arm/pr12918-1.s: Likewise.
* gas/testsuite/gas/arm/pr12198-2.d: Likewise.
* gas/testsuite/gas/arm/pr12918-2.s: Likewise.
* include/opcode/arm.h (ARM_AEXT_V6M_ONLY): New define.
(ARM_AEXT_V6M): Rewrite in terms of ARM_AEXT_V6M_ONLY.
(ARM_ARCH_V6M_ONLY): New define.
Diffstat (limited to 'include/opcode/arm.h')
-rw-r--r-- | include/opcode/arm.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/include/opcode/arm.h b/include/opcode/arm.h index 0bfd302..50bc726 100644 --- a/include/opcode/arm.h +++ b/include/opcode/arm.h @@ -115,9 +115,10 @@ #define ARM_AEXT_NOTM \ (ARM_AEXT_V4 | ARM_EXT_V5ExP | ARM_EXT_V5J | ARM_EXT_V6_NOTM \ | ARM_EXT_V6_DSP ) +#define ARM_AEXT_V6M_ONLY \ + ((ARM_EXT_BARRIER | ARM_EXT_V6M | ARM_EXT_THUMB_MSR) & ~(ARM_AEXT_NOTM)) #define ARM_AEXT_V6M \ - ((ARM_AEXT_V6K | ARM_EXT_BARRIER | ARM_EXT_V6M | ARM_EXT_THUMB_MSR) \ - & ~(ARM_AEXT_NOTM)) + ((ARM_AEXT_V6K | ARM_AEXT_V6M_ONLY) & ~(ARM_AEXT_NOTM)) #define ARM_AEXT_V6SM (ARM_AEXT_V6M | ARM_EXT_OS) #define ARM_AEXT_V7M \ ((ARM_AEXT_V7_ARM | ARM_EXT_V6M | ARM_EXT_V7M | ARM_EXT_DIV) \ @@ -228,6 +229,8 @@ ARM_FEATURE (ARM_AEXT_V7A | ARM_EXT_MP | ARM_EXT_SEC \ | ARM_EXT_DIV | ARM_EXT_ADIV \ | ARM_EXT_VIRT, 0) +/* Features that are present in v6M and v6S-M but not other v6 cores. */ +#define ARM_ARCH_V6M_ONLY ARM_FEATURE (ARM_AEXT_V6M_ONLY, 0) /* There are too many feature bits to fit in a single word, so use a structure. For simplicity we put all core features in one word and |