This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB 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: [patch/rfc] Add a sentinel frame


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


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