[Crash-utility] x86_64 bt

Dave Anderson anderson at redhat.com
Thu May 7 13:18:10 UTC 2009


----- "Shahar Luxenberg" <shahar at checkpoint.com> wrote:

> Hi,
> 
> 
> 
> I've bumped into two issues while using crash' bt command on x86_64
> architecture:
> 
>     1. Incomplete disassembly of gdb: gdb's x/i command was unable to
> detect the nopl machine instruction (opcode 0x0f) – output was
> "(bad)". This resulted in an incorrect stack back trace since the
> frame size couldn't be calculated correctly. I've done a quick test,
> replacing some gdb files with a newer version taken from binutils
> (i386-dis.c for example) which solved the problem. Is there a plan of
> updating gdb version or part of it?

No, not at this time.  If the gdb code can be safely patched, and for
it to recognize a new instruction, that sounds do-able.  If you can
pare down the requirement, please forward a patch.

BTW, the wholesale replacement of the embedded gdb code is a massive
undertaking.  And since its primary purpose is for gathering structure
data type information and text disassembly, a patch to the existing
version is preferable. 

>     2. x86_64_get_framesize() is very naïve. It is bailing out once
> the 'retq' instruction is seen. Is this issue going to be addressed?

Well continuing on from that point would most likely end up calculating
a framesize that is too large, so it's bailing out on the "short" side.

Dave





More information about the Crash-utility mailing list