8sa1-binutils-gdb/include
H.J. Lu 04ef582ace x86: Add NOTRACK prefix support
For register indirect branches, NOTRACK prefix (0x3e), which is also
the DS segment register prefix, can be used to ignore the CET indirect
branch track.

gas/

	* config/tc-i386.c (REX_PREFIX): Changed to 7.
	(NOTRACK_PREFIX): New.
	(MAX_PREFIXES): Changed to 8.
	(_i386_insn): Add notrack_prefix.
	(PREFIX_GROUP): Add PREFIX_DS.
	(add_prefix): Return PREFIX_DS for DS_PREFIX_OPCODE.
	(md_assemble): Check if NOTRACK prefix is supported.
	(parse_insn): Set notrack_prefix and issue an error for
	other prefixes after NOTRACK prefix.
	* testsuite/gas/i386/i386.exp: Run tests for NOTRACK prefix.
	* testsuite/gas/i386/notrack-intel.d: New file.
	* testsuite/gas/i386/notrack.d: Likewise.
	* testsuite/gas/i386/notrack.s: Likewise.
	* testsuite/gas/i386/notrackbad.l: Likewise.
	* testsuite/gas/i386/notrackbad.s: Likewise.
	* testsuite/gas/i386/x86-64-notrack-intel.d: Likewise.
	* testsuite/gas/i386/x86-64-notrack.d: Likewise.
	* testsuite/gas/i386/x86-64-notrack.s: Likewise.
	* testsuite/gas/i386/x86-64-notrackbad.l: Likewise.
	* testsuite/gas/i386/x86-64-notrackbad.s: Likewise.

include/

	* include/opcode/i386.h (NOTRACK_PREFIX_OPCODE): New.

opcodes/

	* i386-dis.c (NOTRACK_Fixup): New.
	(NOTRACK): Likewise.
	(NOTRACK_PREFIX): Likewise.
	(last_active_prefix): Likewise.
	(reg_table): Use NOTRACK on indirect call and jmp.
	(ckprefix): Set last_active_prefix.
	(prefix_name): Return "notrack" for NOTRACK_PREFIX.
	* i386-gen.c (opcode_modifiers): Add NoTrackPrefixOk.
	* i386-opc.h (NoTrackPrefixOk): New.
	(i386_opcode_modifier): Add notrackprefixok.
	* i386-opc.tbl: Add NoTrackPrefixOk to indirect call and jmp.
	Add notrack.
	* i386-tbl.h: Regenerated.
2017-05-22 11:02:58 -07:00
..
aout Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
cgen Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
coff Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
elf binutils: support for the SPARC M8 processor 2017-05-19 09:27:08 -07:00
gdb update copyright year range in GDB files 2017-01-01 10:52:34 +04:00
mach-o Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
nlm Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
opcode x86: Add NOTRACK prefix support 2017-05-22 11:02:58 -07:00
som Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
vms Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
alloca-conf.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ansidecl.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
bfdlink.h Rename non_ir_ref to non_ir_ref_regular 2017-05-16 10:35:02 +09:30
binary-io.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
bout.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ChangeLog x86: Add NOTRACK prefix support 2017-05-22 11:02:58 -07:00
ChangeLog-0415 binutils ChangeLog rotation 2016-01-01 22:59:17 +10:30
ChangeLog-2016 ChangeLog rotation 2017-01-02 13:55:05 +10:30
ChangeLog-9103 Add copyright notices 2012-12-10 12:48:03 +00:00
COPYING
COPYING3
demangle.h Sync libiberty sources with GCC. 2017-03-13 17:49:32 +00:00
dis-asm.h Add support for disassembling WebAssembly opcodes. 2017-04-06 17:20:02 +01:00
dwarf2.def Add DW_OP_GNU_variable_value 2017-03-14 12:57:48 -07:00
dwarf2.h Sync dwarf headers with master versions in gcc repository. 2017-01-03 15:18:52 +00:00
dyn-string.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
environ.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
fibheap.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
filenames.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
floatformat.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
fnmatch.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
fopen-bin.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
fopen-same.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
fopen-vms.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
gcc-c-fe.def Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
gcc-c-interface.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
gcc-interface.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
getopt.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
hashtab.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
hp-symtab.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ieee.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
leb128.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
libiberty.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
longlong.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
lto-symtab.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
MAINTAINERS Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
md5.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
oasys.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
objalloc.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
obstack.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
os9k.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
partition.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
plugin-api.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
progress.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
safe-ctype.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
sha1.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
simple-object.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
sort.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
splay-tree.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
symcat.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
timeval-utils.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
vtv-change-permission.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
xregex2.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
xregex.h merge from gcc 2011-07-25 17:11:48 +00:00
xtensa-config.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
xtensa-isa-internal.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
xtensa-isa.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30