diff options
author | pfg <pfg@FreeBSD.org> | 2014-01-26 00:37:21 +0000 |
---|---|---|
committer | pfg <pfg@FreeBSD.org> | 2014-01-26 00:37:21 +0000 |
commit | 72b58728c7463667c6eb881e2f8a0c6d98e8c661 (patch) | |
tree | 06a2c604fa227ca5796953efa15c006811e5caca /contrib/binutils/opcodes/i386-dis.c | |
parent | c7db1aef3d54ed7e1474f6c408c31c4909a1a9e1 (diff) | |
download | FreeBSD-src-72b58728c7463667c6eb881e2f8a0c6d98e8c661.zip FreeBSD-src-72b58728c7463667c6eb881e2f8a0c6d98e8c661.tar.gz |
binutils: add support for Intel SMAP-related instructions
Add support for stac/clac instructions to manipulate the flag
that controls the behaviour of Intel's Supervisor Mode Access
Prevention (SMAP) feature.
Tested by: dim
Obtained from: OpenBSD
MFC after: 5 days
Diffstat (limited to 'contrib/binutils/opcodes/i386-dis.c')
-rw-r--r-- | contrib/binutils/opcodes/i386-dis.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/contrib/binutils/opcodes/i386-dis.c b/contrib/binutils/opcodes/i386-dis.c index cc0075c..22c4b80 100644 --- a/contrib/binutils/opcodes/i386-dis.c +++ b/contrib/binutils/opcodes/i386-dis.c @@ -6257,6 +6257,16 @@ PNI_Fixup (int extrachar ATTRIBUTE_UNUSED, int sizeflag) codep++; } + else if (modrm.mod == 3 && modrm.reg == 1 && modrm.rm <= 3) + { + size_t olen = strlen (obuf); + char *p = obuf + olen - 4; + if (*codep == 0xca) + strcpy (p, "clac"); + else if (*codep == 0xcb) + strcpy (p, "stac"); + codep++; + } else OP_M (0, sizeflag); } |