summaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2020-06-25 09:31:50 +0200
committerJan Beulich <jbeulich@suse.com>2020-06-25 09:31:50 +0200
commit8f570d62882debe92524fff4f847dbdbe90fb5b9 (patch)
treeedb096454618f0703cd71c869732e666610278ba /opcodes
parent464dc4af9ab34e1482fb4ab47019a0972665505c (diff)
downloadbinutils-gdb-8f570d62882debe92524fff4f847dbdbe90fb5b9.tar.gz
x86: make J disassembler macro available for new use
There's clearly a shortage of available macro characters, as can be seen from the various two-character macros that had to be introduced. Don't waste characters for things that can be expressed differently. In the case of J this alternative is {l|}.
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes/ChangeLog6
-rw-r--r--opcodes/i386-dis.c19
2 files changed, 13 insertions, 12 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 61bc45231e6..f36ee55612a 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,5 +1,11 @@
2020-06-25 Jan Beulich <jbeulich@suse.com>
+ * i386-dis.c: Adjust description of J macro.
+ (dis386, x86_64_table, mod_table): Replace J.
+ (putop): Remove handling of J.
+
+2020-06-25 Jan Beulich <jbeulich@suse.com>
+
* i386-dis.c: (float_mem): Reduce alternatives for fstpt and fldpt.
2020-06-25 Jan Beulich <jbeulich@suse.com>
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 723bbb3a7df..8964832ad2d 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -2252,7 +2252,7 @@ struct dis386 {
'H' => print ",pt" or ",pn" branch hint
'I' => honor following macro letter even in Intel mode (implemented only
for some of the macro letters)
- 'J' => print 'l'
+ 'J' unused.
'K' => print 'd' or 'q' if rex prefix is present.
'L' => print 'l' if suffix_always is true
'M' => print 'r' if intel_mnemonic is false.
@@ -2536,8 +2536,8 @@ static const struct dis386 dis386[] = {
/* c8 */
{ "enterT", { Iw, Ib }, 0 },
{ "leaveT", { XX }, 0 },
- { "Jret{|f}P", { Iw }, 0 },
- { "Jret{|f}P", { XX }, 0 },
+ { "{l|}ret{|f}P", { Iw }, 0 },
+ { "{l|}ret{|f}P", { XX }, 0 },
{ "int3", { XX }, 0 },
{ "int", { Ib }, 0 },
{ X86_64_TABLE (X86_64_CE) },
@@ -6857,7 +6857,7 @@ static const struct dis386 x86_64_table[][2] = {
/* X86_64_9A */
{
- { "Jcall{T|}", { Ap }, 0 },
+ { "{l|}call{T|}", { Ap }, 0 },
},
/* X86_64_C2 */
@@ -6913,7 +6913,7 @@ static const struct dis386 x86_64_table[][2] = {
/* X86_64_EA */
{
- { "Jjmp{T|}", { Ap }, 0 },
+ { "{l|}jmp{T|}", { Ap }, 0 },
},
/* X86_64_0F01_REG_0 */
@@ -10180,11 +10180,11 @@ static const struct dis386 mod_table[][2] = {
},
{
/* MOD_FF_REG_3 */
- { "Jcall^", { indirEp }, 0 },
+ { "{l|}call^", { indirEp }, 0 },
},
{
/* MOD_FF_REG_5 */
- { "Jjmp^", { indirEp }, 0 },
+ { "{l|}jmp^", { indirEp }, 0 },
},
{
/* MOD_0F01_REG_0 */
@@ -12867,11 +12867,6 @@ putop (const char *in_template, int sizeflag)
*obufp++ = 'n';
}
break;
- case 'J':
- if (intel_syntax)
- break;
- *obufp++ = 'l';
- break;
case 'K':
USED_REX (REX_W);
if (rex & REX_W)