opcodes * i386-dis.c (print_insn): Fix decoding of three byte operands.
tests * gas/i386/intel.s: Add test of disassembly of a potential
three byte instuction at the end of a function.
* gas/i386/intel.d: Update expected disassembly.
+2015-08-24 Jan Stancek <jstancek@redhat.com>
+
+ * gas/i386/intel.s: Add test of disassembly of a potential
+ three byte instuction at the end of a function.
+ * gas/i386/intel.d: Update expected disassembly.
+
2015-08-21 Nick Clifton <nickc@redhat.com>
PR gas/18581
[ ]*[a-f0-9]+: 0f 4b 90 90 90 90 90 cmovnp -0x6f6f6f70\(%eax\),%edx
[ ]*[a-f0-9]+: 66 0f 4a 90 90 90 90 90 cmovp -0x6f6f6f70\(%eax\),%dx
[ ]*[a-f0-9]+: 66 0f 4b 90 90 90 90 90 cmovnp -0x6f6f6f70\(%eax\),%dx
+[ ]*[a-f0-9]+: 24 2f and \$0x2f,%al
+[ ]*[a-f0-9]+: 0f \.byte 0xf
+[a-f0-9]+ <barn>:
+[ ]*[a-f0-9]+: 0f ba e2 03 bt \$0x3,%edx
#pass
cmovpo edx, 0x90909090[eax]
cmovpe dx, 0x90909090[eax]
cmovpo dx, 0x90909090[eax]
+
+ # Test that disassembly of a partial instruction shows the partial byte:
+ # https://www.sourceware.org/ml/binutils/2015-08/msg00226.html
+ .byte 0x24
+ .byte 0x2f
+ .byte 0x0f
+barn:
+ .byte 0x0f
+ .byte 0xba
+ .byte 0xe2
+ .byte 0x03
+2015-08-24 Jan Stancek <jstancek@redhat.com>
+
+ * i386-dis.c (print_insn): Fix decoding of three byte operands.
+
2015-08-21 Alexander Fomin <alexander.fomin@intel.com>
PR binutils/18257
if (*codep == 0x0f)
{
unsigned char threebyte;
- FETCH_DATA (info, codep + 2);
- threebyte = *++codep;
+
+ codep++;
+ FETCH_DATA (info, codep + 1);
+ threebyte = *codep;
dp = &dis386_twobyte[threebyte];
need_modrm = twobyte_has_modrm[*codep];
codep++;