aboutsummaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2023-06-21 08:32:13 +0200
committerJan Beulich <jbeulich@suse.com>2023-06-21 08:32:13 +0200
commitfffb10b122c58128f604ddabd421db84c99a5eaa (patch)
tree10c815dbdd800a04ec2cb34b164d4f075b96c99e /opcodes
parent08edd976116312550831cdfd3b5a4b069bdcca80 (diff)
downloadgdb-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.c15
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)
{