8sa1-binutils-gdb/include/opcode
Thomas Preud'homme 173205ca33 [ARM] Remove ARMv6S-M special casing
=== Context ===

This patch is part of a patch series to add support for ARMv8-R
architecture. Its purpose is to remove special casing for ARMv6S-M
autodetection.

=== Motivation ===

Currently, SWI and SVC mnemonics are enabled for ARMv4T and successor
architectures with extra checks in the handler function (do_t_swi) to
give an error message when ARMv6-M is targeted and some more special
casing in aeabi_set_public_attributes. This was made to exclude these
mnemonics for ARMv6-M unless the OS extension is in use.

However this logic is superfluous: there is already code to check
whether an instruction is available based on the feature bit it is part
of and whether the targeted architecture has that feature bit. This
patch aims at removing that unneeded complexity.

=== Patch description ===

The OS extension is already limited to the ARMv6-M architecture so all
this patch does is redefined availability of the ARM_EXT_OS feature bit
to not be present for ARM_ARCH_V6M. ARM_ARCH_V6SM does not need any
change either because it already includes ARM_EXT_OS.

The patch also make sure that the error message that was given by
do_t_swi when SWI/SVC is unavailable is still the same by detecting the
situation in md_assemble.

2017-06-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>

gas/
	* config/tc-arm.c (arm_ext_v6m): Delete.
	(arm_ext_v7m): Delete.
	(arm_ext_m): Remove ARM_EXT_OS from the set of feature defined M
	profile.
	(arm_arch_v6m_only): Delete.
	(do_t_swi): Remove special case for ARMv6S-M.
	(md_assemble): Display error message previously in do_t_swi when
	SVC is not available.
	(insns): Guard swi and svc by arm_ext_os for Thumb mode.
	(aeabi_set_public_attributes): Remove special case for ARMv6S-M.

include/
	* opcode/arm.h (ARM_AEXT_V4TxM): Add ARM_EXT_OS bit to the set.
	(ARM_AEXT_V4T): Likewise.
	(ARM_AEXT_V5TxM): Likewise.
	(ARM_AEXT_V5T): Likewise.
	(ARM_AEXT_V6M): Mask off ARM_EXT_OS bit.
2017-06-24 10:26:41 +01:00
..
aarch64.h [AArch64] Additional SVE instructions 2017-02-24 18:29:00 +00:00
alpha.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
arc-attrs.h [ARC] Object attributes. 2017-05-10 14:42:22 +02:00
arc-func.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
arc.h [ARC] Update MAX_INSN_FLGS. 2017-05-23 12:18:10 +02:00
arm.h [ARM] Remove ARMv6S-M special casing 2017-06-24 10:26:41 +01:00
avr.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
bfin.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
cgen.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ChangeLog-0415 binutils ChangeLog rotation 2016-01-01 22:59:17 +10:30
ChangeLog-9103 Add copyright notices 2012-12-10 12:48:03 +00:00
convex.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
cr16.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
cris.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
crx.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
d10v.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
d30v.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
dlx.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ft32.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
h8300.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
hppa.h Fix match and mask for 64-bit bb opcode. 2017-05-14 16:06:06 -04:00
i370.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
i386.h x86: Add NOTRACK prefix support 2017-05-22 11:02:58 -07:00
i860.h Clarify that include/opcode/ files are part of GNU opcodes 2017-01-25 12:30:52 +00:00
i960.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ia64.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
m68hc11.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
m68k.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
m88k.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
metag.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
mips.h MIPS16e2: Add MIPS16e2 ASE support 2017-05-15 13:57:10 +01:00
mmix.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
mn10200.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
mn10300.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
moxie.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
msp430-decode.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
msp430.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
nds32.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
nios2.h Clarify that include/opcode/ files are part of GNU opcodes 2017-01-25 12:30:52 +00:00
nios2r1.h Clarify that include/opcode/ files are part of GNU opcodes 2017-01-25 12:30:52 +00:00
nios2r2.h Clarify that include/opcode/ files are part of GNU opcodes 2017-01-25 12:30:52 +00:00
np1.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ns32k.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
pdp11.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
pj.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
pn.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ppc.h Reorder PPC_OPCODE_* and set PPC_OPCODE_TMR for e6500 2017-04-11 07:43:21 +09:30
pru.h Clarify that include/opcode/ files are part of GNU opcodes 2017-01-25 12:30:52 +00:00
pyr.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
riscv-opc.h RISC-V: Add physical memory protection CSRs 2017-03-31 09:35:11 -07:00
riscv.h Add support for the Q extension to the RISCV ISA. 2017-01-03 17:42:01 +00:00
rl78.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
rx.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
s390.h S/390: Improve error checking for optional operands 2017-05-30 10:22:25 +02:00
score-datadep.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
score-inst.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
sparc.h binutils: support for the SPARC M8 processor 2017-05-19 09:27:08 -07:00
spu-insns.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
spu.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
tahoe.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
tic4x.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
tic6x-control-registers.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
tic6x-insn-formats.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
tic6x-opcode-table.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
tic6x.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
tic30.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
tic54x.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
tic80.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
tilegx.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
tilepro.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
v850.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
vax.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
visium.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
wasm.h Add support for the WebAssembly file format and the wasm32 ELF conversion to gas and the binutils. 2017-03-30 10:57:21 +01:00
xgate.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30