aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorJan Stancek <jstancek@redhat.com>2015-08-24 14:50:15 +0100
committerNick Clifton <nickc@redhat.com>2015-08-24 14:50:15 +0100
commit5f40e14d768b94f7fdc050aeba5ee62e6a8d5756 (patch)
tree051d379f0a185b1a5553760607bbcb97767ec749 /gas
parent77c365df78441f7b968ec0f62c7ed9f5de36dc60 (diff)
downloadgdb-5f40e14d768b94f7fdc050aeba5ee62e6a8d5756.zip
gdb-5f40e14d768b94f7fdc050aeba5ee62e6a8d5756.tar.gz
gdb-5f40e14d768b94f7fdc050aeba5ee62e6a8d5756.tar.bz2
Fix the partial disassembly of a broken three byte instruction at the end of a function.
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.
Diffstat (limited to 'gas')
-rw-r--r--gas/testsuite/ChangeLog6
-rw-r--r--gas/testsuite/gas/i386/intel.d4
-rw-r--r--gas/testsuite/gas/i386/intel.s11
3 files changed, 21 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 2951966..6b85249 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+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
diff --git a/gas/testsuite/gas/i386/intel.d b/gas/testsuite/gas/i386/intel.d
index 45a66a5..d10b4f0 100644
--- a/gas/testsuite/gas/i386/intel.d
+++ b/gas/testsuite/gas/i386/intel.d
@@ -698,4 +698,8 @@ Disassembly of section .text:
[ ]*[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
diff --git a/gas/testsuite/gas/i386/intel.s b/gas/testsuite/gas/i386/intel.s
index a3a07b3..045d6ae 100644
--- a/gas/testsuite/gas/i386/intel.s
+++ b/gas/testsuite/gas/i386/intel.s
@@ -698,3 +698,14 @@ fidivr dword ptr [ebx]
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