diff options
author | Richard Lowe <richlowe@richlowe.net> | 2011-06-26 01:04:00 +0100 |
---|---|---|
committer | Richard Lowe <richlowe@richlowe.net> | 2011-07-02 22:17:03 -0400 |
commit | 199261914c55ef2a42a5519a28af4dd9a15fb9d3 (patch) | |
tree | 7ccc211c9171d81d2d6f632e0231a849249fb9ab /usr/src | |
parent | 931503e3de23dfd4f2820165d4ca0584660f9e17 (diff) | |
download | illumos-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.c | 2 |
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), |