Re: [patch/rfc] Add a sentinel frame

Andrew Cagney
2003-02-27T18:27:08Z

Michal,

To give this x86-64 thread clear closure. The internal-error you are
seeing from the new frame code is now, officially, "not-a-frame-bug".

The underlying problem is caused by a design flaw (one of many) in the
original CFI code (on which the x86-64 depends). It's trying to use the
CFI unwinder on a block of code that either: has no CFI information; or
has CFI information that isn't relevant to the stack frame being
unwound. Using CFI to unwind such a frame is meaningless.

Please read the two cited posts below to get at least a feel for what
the x86-64 needs to do for the problem to be fixed:

http://sources.redhat.com/ml/gdb/2003-02/msg00549.html
http://sources.redhat.com/ml/gdb-patches/2003-02/msg00668.html

I've already cooked up a draft patch that adds gdbarch_unwind_dummy_id()
to the architecture vector (mumble something about needing documentation).

To fix this problem, the x86-64 will need to implement both that and the
save_dummy_frame_tos() method.

Andrew