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] More generic unwinders


Hello,

This patch (based on my tramp branch) extends frame-unwind so that it is easier to parameterize an unwinder with both static (unwind_data) and dynamic (this_prologue_cache) information. It does this by adding a "static" method (i.e., callable before an instance of the unwinder has been created) to the frame_unwind object.

I've now managed to trim things back to the point where no existing code is affected. With this in place it becomes possible to implement the tramp frame.

I previously posted a draft version of this patch here:
http://sources.redhat.com/ml/gdb-patches/2004-03/msg00353.html

Baring comments, I'll look to commit in a few days,
Andrew

I've checked this in.


Andrew

2004-03-17 Andrew Cagney <cagney@redhat.com>

	* frame-unwind.h: Update copyright.
	(struct frame_data): Add opaque declaration.
	(frame_sniffer_ftype): Declare.
	(struct frame_unwind): Add "unwind_data" and "sniffer".
	(frame_unwind_register_unwinder): Declare.
	(frame_unwind_find_by_frame): Add parameter "this_cache".
	* frame-unwind.c (struct frame_unwind_table_entry): Add field
	"unwinder".
	(frame_unwind_register_unwinder): New function.
	(frame_unwind_find_by_frame): Handle an unwind sniffer.
	* frame.c (get_frame_id, create_new_frame, legacy_get_prev_frame)
	(legacy_get_prev_frame, legacy_get_prev_frame)
	(get_frame_type): Pass the prologue_cache to
	frame_unwind_find_by_frame.



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