This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Another x86_64 disassembler crash
On Thu, Dec 08, 2005 at 11:30:02AM +0100, Jan Beulich wrote:
> This difference is caused by a buffer overflow, which triggers (due to
> alignment differences) later on 64-bits than on 32. Preparing a
> patch...
Great!
> >and
> >
> >-ffffffff805be630: 43 17 rexYZ popq %dl
> >+ffffffff805be630: 43 17 rexYZ popq %bp,%si
>
> This one I can't explain at all. Opcode 0x17 is invalid in 64-bit mode,
> and clearly marked as such in the tables. Whatever binutils version I
> use, I get "rexYZ (bad)" as expected.
>
> Bottom line is, more context might be needed to understand why things
> are going wrong...
This should (*crosses fingers*) be trivially easy to reproduce. Take
any Linux kernel image, build binutils with --target=x86_64-linux using
both 32-bit and 64-bit compilers, feed the kernel through both objdumps
with -D, and diff the output.
If you haven't got a kernel lying around that shows the problem,
contact me offlist.
--
Daniel Jacobowitz
CodeSourcery, LLC