----- "Shahar Luxenberg" <shahar(a)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