]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
x86: Remove restriction on NOTRACK prefix position
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 9 Sep 2017 12:31:30 +0000 (05:31 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Sat, 9 Sep 2017 16:09:33 +0000 (09:09 -0700)
commit21ac70934525c0d380895e4a6ac0fa0d4481a705
treeca672167091c0e96c9c30a1c8357d623da62b5d6
parentbb0216e26681531bf967a6a3f1800789ade3693d
x86: Remove restriction on NOTRACK prefix position

Since the NOTRACK prefix is no longer required to be the last prefix
before the REX prefix, restriction on the NOTRACK prefix position is
removed from assembler as well as disassembler.  Assembler encodes the
NOTRACK prefix the same way as the DS segment register, which places
it before other prefixes.  Disassembler displays prefixes in the order
they appear.

gas/

* config/tc-i386.c (NOTRACK_PREFIX): Removed.
(REX_PREFIX): Updated.
(MAX_PREFIXES): Likewise.
(parse_insn): Remove restriction on NOTRACK prefix position.
* testsuite/gas/i386/notrack.s: Add tests with NOTRACK prefix
before other prefixes.
* testsuite/gas/i386/x86-64-notrack.s: Likewise.
* testsuite/gas/i386/notrackbad.s: Remove tests with NOTRACK
prefix before other prefixes.
* testsuite/gas/i386/x86-64-notrackbad.s: Likewise.
* testsuite/gas/i386/notrack-intel.d: Updated.
* testsuite/gas/i386/notrack.d: Likewise.
* testsuite/gas/i386/notrackbad.l: Likewise.
* testsuite/gas/i386/x86-64-notrack-intel.d: Likewise.
* testsuite/gas/i386/x86-64-notrack.d: Likewise.
* testsuite/gas/i386/x86-64-notrackbad.l: Likewise.

opcodes/

* i386-dis.c (last_active_prefix): Removed.
(ckprefix): Don't set last_active_prefix.
(NOTRACK_Fixup): Don't check last_active_prefix.

(cherry picked from commit 4e9ac44a8925c7da81735ef24beb5456a0c0fa24)
14 files changed:
gas/ChangeLog
gas/config/tc-i386.c
gas/testsuite/gas/i386/notrack-intel.d
gas/testsuite/gas/i386/notrack.d
gas/testsuite/gas/i386/notrack.s
gas/testsuite/gas/i386/notrackbad.l
gas/testsuite/gas/i386/notrackbad.s
gas/testsuite/gas/i386/x86-64-notrack-intel.d
gas/testsuite/gas/i386/x86-64-notrack.d
gas/testsuite/gas/i386/x86-64-notrack.s
gas/testsuite/gas/i386/x86-64-notrackbad.l
gas/testsuite/gas/i386/x86-64-notrackbad.s
opcodes/ChangeLog
opcodes/i386-dis.c