aboutsummaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2020-10-05 05:27:58 -0700
committerH.J. Lu <hjl.tools@gmail.com>2020-10-05 05:28:12 -0700
commit5b316d90e4ec9845a890fd21ad86cf1043fb2ca3 (patch)
treee7b1c53fa92c705ba5ed4c66c8e427ceffac4e8b /opcodes
parent0e9f3bf12616b108682bb6f6e2a5ef04df9586a8 (diff)
downloadbinutils-5b316d90e4ec9845a890fd21ad86cf1043fb2ca3.zip
binutils-5b316d90e4ec9845a890fd21ad86cf1043fb2ca3.tar.gz
binutils-5b316d90e4ec9845a890fd21ad86cf1043fb2ca3.tar.bz2
x86-64: Always display suffix for %LQ in 64bit
In 64bit, assembler generates a warning for "sysret": $ echo sysret | as --64 -o x.o - {standard input}: Assembler messages: {standard input}:1: Warning: no instruction mnemonic suffix given and no register operands; using default for `sysret' Always display suffix for %LQ in 64bit to display "sysretl". gas/ PR binutils/26704 * testsuite/gas/i386/noreg64-data16.d: Expect sysretl instead of sysret. * testsuite/gas/i386/noreg64.d: Likewise. * testsuite/gas/i386/x86-64-intel64.d: Likewise. * testsuite/gas/i386/x86-64-opcode.d: Likewise. opcodes/ PR binutils/26704 * i386-dis.c (putop): Always display suffix for %LQ in 64bit.
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes/ChangeLog5
-rw-r--r--opcodes/i386-dis.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index f1b4273..3c74fbf 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,5 +1,10 @@
2020-10-05 H.J. Lu <hongjiu.lu@intel.com>
+ PR binutils/26704
+ * i386-dis.c (putop): Always display suffix for %LQ in 64bit.
+
+2020-10-05 H.J. Lu <hongjiu.lu@intel.com>
+
PR binutils/26705
* i386-dis.c (print_insn): Clear modrm if not needed.
(putop): Check need_modrm for modrm.mod != 3. Don't check
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index f4f35bc..4d8f4f4 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -10870,7 +10870,7 @@ putop (const char *in_template, int sizeflag)
USED_REX (REX_W);
*obufp++ = 'q';
}
- else if((address_mode == mode_64bit && need_modrm && cond)
+ else if((address_mode == mode_64bit && cond)
|| (sizeflag & SUFFIX_ALWAYS))
*obufp++ = intel_syntax? 'd' : 'l';
}