diff options
Diffstat (limited to 'gdb/frame-unwind.h')
-rw-r--r-- | gdb/frame-unwind.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gdb/frame-unwind.h b/gdb/frame-unwind.h index e449766..5b04a1c 100644 --- a/gdb/frame-unwind.h +++ b/gdb/frame-unwind.h @@ -51,6 +51,9 @@ typedef int (frame_sniffer_ftype) (const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache); +typedef enum unwind_stop_reason (frame_unwind_stop_reason_ftype) + (struct frame_info *this_frame, void **this_prologue_cache); + /* A default frame sniffer which always accepts the frame. Used by fallback prologue unwinders. */ @@ -58,6 +61,13 @@ int default_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache); +/* A default stop_reason callback which always claims the frame is + unwindable. */ + +enum unwind_stop_reason + default_frame_unwind_stop_reason (struct frame_info *this_frame, + void **this_cache); + /* Assuming the frame chain: (outer) prev <-> this <-> next (inner); use THIS frame, and through it the NEXT frame's register unwind method, to determine the frame ID of THIS frame. @@ -136,6 +146,7 @@ struct frame_unwind enum frame_type type; /* Should an attribute indicating the frame's address-in-block go here? */ + frame_unwind_stop_reason_ftype *stop_reason; frame_this_id_ftype *this_id; frame_prev_register_ftype *prev_register; const struct frame_data *unwind_data; |