diff options
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 5 | ||||
-rw-r--r-- | opcodes/i386-dis.c | 13 |
2 files changed, 16 insertions, 2 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 1e7e40f..02fd2f5 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2020-11-28 Borislav Petkov <bp@suse.de> + + * i386-dis.c (print_insn): Set active_seg_prefix for branch hint insns + to not dump branch hint prefixes 0x2E and 0x3E as unused prefixes. + 2020-11-16 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> * aarch64-tbl.h (FLAGM): Handle for FLAGM feature. diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 58cf001..a1e47c5 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -10910,10 +10910,19 @@ putop (const char *in_template, int sizeflag) used_prefixes |= prefixes & (PREFIX_CS | PREFIX_DS); *obufp++ = ','; *obufp++ = 'p'; + + /* Set active_seg_prefix even if not set in 64-bit mode + because here it is a valid branch hint. */ if (prefixes & PREFIX_DS) - *obufp++ = 't'; + { + active_seg_prefix = PREFIX_DS; + *obufp++ = 't'; + } else - *obufp++ = 'n'; + { + active_seg_prefix = PREFIX_CS; + *obufp++ = 'n'; + } } break; case 'K': |