summaryrefslogtreecommitdiffstats
path: root/contrib/binutils/opcodes/i386-dis.c
diff options
context:
space:
mode:
authorpfg <pfg@FreeBSD.org>2014-01-26 00:37:21 +0000
committerpfg <pfg@FreeBSD.org>2014-01-26 00:37:21 +0000
commit72b58728c7463667c6eb881e2f8a0c6d98e8c661 (patch)
tree06a2c604fa227ca5796953efa15c006811e5caca /contrib/binutils/opcodes/i386-dis.c
parentc7db1aef3d54ed7e1474f6c408c31c4909a1a9e1 (diff)
downloadFreeBSD-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.c10
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);
}
OpenPOWER on IntegriCloud