Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Gretton-Dann <matthew.gretton-dann@arm.com>2010-11-15 13:03:05 +0300
committerMatthew Gretton-Dann <matthew.gretton-dann@arm.com>2010-11-15 13:03:05 +0300
commit45918fc55f855469b2c78d427611cef889c0527a (patch)
treeb4b32cbfdf55d1476148fc2b04bfe36072f071d2 /include/opcode
parente678928a68e35f1b36a115636eb23eae8d926386 (diff)
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')
-rw-r--r--include/opcode/ChangeLog7
-rw-r--r--include/opcode/arm.h7
2 files changed, 12 insertions, 2 deletions
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index fa689e599..197220d09 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,3 +1,10 @@
+2010-11-15 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ PR gas/12198
+ * 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.
+
2010-11-11 Mingming Sun <mingm.sun@gmail.com>
* mips.h (INSN_LOONGSON_3A): Defined.
diff --git a/include/opcode/arm.h b/include/opcode/arm.h
index 0bfd30288..50bc726a6 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