summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorRichard Lowe <richlowe@richlowe.net>2011-06-26 01:04:00 +0100
committerRichard Lowe <richlowe@richlowe.net>2011-07-02 22:17:03 -0400
commit199261914c55ef2a42a5519a28af4dd9a15fb9d3 (patch)
tree7ccc211c9171d81d2d6f632e0231a849249fb9ab /usr/src
parent931503e3de23dfd4f2820165d4ca0584660f9e17 (diff)
downloadillumos-joyent-199261914c55ef2a42a5519a28af4dd9a15fb9d3.tar.gz
dis: Allow decoding of 66 (%cs:) segment override even when amd64
This is now generated by GCC 4 as part of an extended multi-byte nop as variable-length executable padding of the form: 66 66 66 2e 0f 1f 84 Where the number of 66 (address size) prefixes varies according to the amount of pad required.
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/common/dis/i386/dis_tables.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/usr/src/common/dis/i386/dis_tables.c b/usr/src/common/dis/i386/dis_tables.c
index 46556e2bb9..c402a5dab1 100644
--- a/usr/src/common/dis/i386/dis_tables.c
+++ b/usr/src/common/dis/i386/dis_tables.c
@@ -1858,7 +1858,7 @@ const instable_t dis_distable[16][16] = {
/* [2,0] */ TNS("andb",RMw), TS("and",RMw), TNS("andb",MRw), TS("and",MRw),
/* [2,4] */ TNS("andb",IA), TS("and",IA), TNSx("%es:",OVERRIDE), TNSx("daa",NORM),
/* [2,8] */ TNS("subb",RMw), TS("sub",RMw), TNS("subb",MRw), TS("sub",MRw),
-/* [2,C] */ TNS("subb",IA), TS("sub",IA), TNSx("%cs:",OVERRIDE), TNSx("das",NORM),
+/* [2,C] */ TNS("subb",IA), TS("sub",IA), TNS("%cs:",OVERRIDE), TNSx("das",NORM),
}, {
/* [3,0] */ TNS("xorb",RMw), TS("xor",RMw), TNS("xorb",MRw), TS("xor",MRw),
/* [3,4] */ TNS("xorb",IA), TS("xor",IA), TNSx("%ss:",OVERRIDE), TNSx("aaa",NORM),