diff options
Diffstat (limited to 'gas/config/tc-arm.c')
-rw-r--r-- | gas/config/tc-arm.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 736693e..ff4d090 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -5354,7 +5354,7 @@ parse_psr (char **str, bfd_boolean lhs) const struct asm_psr *psr; char *start; bfd_boolean is_apsr = FALSE; - bfd_boolean m_profile = ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_m); + bfd_boolean m_profile = ARM_CPU_HAS_FEATURE (selected_cpu, arm_ext_m); /* CPSR's and SPSR's can now be lowercase. This is just a convenience feature for ease of use and backwards compatibility. */ @@ -11760,7 +11760,9 @@ do_t_swi (void) to ARM_EXT_V6M. */ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6m)) { - if (!ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_os)) + if (!ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_os) + /* This only applies to the v6m howver, not later architectures. */ + && ! ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v7)) as_bad (_("SVC is not permitted on this architecture")); ARM_MERGE_FEATURE_SETS (thumb_arch_used, thumb_arch_used, arm_ext_os); } @@ -16632,7 +16634,8 @@ static const struct asm_psr v7m_psrs[] = {"psp", 9 }, {"PSP", 9 }, {"primask", 16}, {"PRIMASK", 16}, {"basepri", 17}, {"BASEPRI", 17}, - {"basepri_max", 18}, {"BASEPRI_MAX", 18}, + {"basepri_max", 18}, {"BASEPRI_MAX", 18}, /* Typo, preserved for backwards compatibility. */ + {"basepri_mask",18}, {"BASEPRI_MASK", 18}, {"faultmask", 19}, {"FAULTMASK", 19}, {"control", 20}, {"CONTROL", 20} }; |