This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]