https://sourceware.org/bugzilla/show_bug.cgi?id=16893
Bug ID: 16893 Summary: libopcodes decodes some x86 prefixes incorrectly Product: binutils Version: 2.24 Status: NEW Severity: normal Priority: P2 Component: binutils Assignee: unassigned at sourceware dot org Reporter: rsc at swtch dot com Created attachment 7574 --> https://sourceware.org/bugzilla/attachment.cgi?id=7574&action=edit 32-bit x86 elf executable containing test sequences [Related to PR binutils/16891 but not the same.] The attached test.elf contains a torture test every 32 bytes. libopcodes gets the wrong answer for all of them. (I removed the ones it gets correct.) g% x86_64-linux-elf-objdump -d -z test.elf | grep '[89][0-9a-f][02468ace]0:' | sed 's/.*://' | sort | uniq -c 2 66 addr16 2 66 ds 1 66 lock 5 66 ss 20 f2 addr16 22 f2 data16 8 f2 ds 10 f2 lock 3 f2 ss 27 f3 addr16 22 f3 data16 6 f3 ds 25 f3 lock 16 f3 repnz 4 f3 ss g% (66 is data16, f2 is repnz, f3 is repz). Here are the first few. I am attaching the full objdump output as objdump.out. 8000: f2 data16 8001: 66 0f 11 22 movupd %xmm4,(%edx) 8005: 33 44 55 66 xor 0x66(%ebp,%edx,2),%eax 8009: 77 88 ja 0x7f93 800b: 5f pop %edi 8020: f2 data16 8021: 66 90 xchg %ax,%ax 8023: 11 22 adc %esp,(%edx) 8025: 33 44 55 66 xor 0x66(%ebp,%edx,2),%eax 8029: 77 88 ja 0x7fb3 802b: 5f pop %edi 8040: f2 addr16 8041: 67 66 0f 11 22 movupd %xmm4,(%bp,%si) 8046: 33 44 55 66 xor 0x66(%ebp,%edx,2),%eax 804a: 77 88 ja 0x7fd4 804c: 5f pop %edi -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils