diff options
author | Jan Beulich <jbeulich@suse.com> | 2023-06-21 08:32:13 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2023-06-21 08:32:13 +0200 |
commit | fffb10b122c58128f604ddabd421db84c99a5eaa (patch) | |
tree | 10c815dbdd800a04ec2cb34b164d4f075b96c99e /opcodes | |
parent | 08edd976116312550831cdfd3b5a4b069bdcca80 (diff) | |
download | gdb-fffb10b122c58128f604ddabd421db84c99a5eaa.zip gdb-fffb10b122c58128f604ddabd421db84c99a5eaa.tar.gz gdb-fffb10b122c58128f604ddabd421db84c99a5eaa.tar.bz2 |
x86: fix expansion of %XV
Only %LV should continue on to S handling; avoid emitting a stray 'l'
(typically) in suffix-always mode.
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/i386-dis.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 6161bf7..15a0e1b 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -11055,19 +11055,20 @@ putop (instr_info *ins, const char *in_template, int sizeflag) *ins->obufp++ = ' '; break; case 'L': - if (!(ins->rex & REX_W)) - break; - *ins->obufp++ = 'a'; - *ins->obufp++ = 'b'; - *ins->obufp++ = 's'; - break; + if (ins->rex & REX_W) + { + *ins->obufp++ = 'a'; + *ins->obufp++ = 'b'; + *ins->obufp++ = 's'; + } + goto case_S; default: abort (); } } else abort (); - goto case_S; + break; case 'W': if (l == 0) { |