mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-26 17:18:55 +00:00
2004-04-08 Andrew Cagney <cagney@redhat.com>
* frame-unwind.c (struct frame_unwind_table, frame_unwind_init) (frame_unwind_prepend_unwinder, frame_unwind_append_sniffer) (frame_unwind_find_by_frame): Re-implement the unwind code so that it can both prepend and append sniffers. Replace frame_unwind_register_unwinder with frame_unwind_prepend_unwinder. * tramp-frame.c (tramp_frame_append): Use frame_unwind_prepend_unwinder. * frame-unwind.h (frame_unwind_prepend_unwinder): Replace frame_unwind_register_unwinder. * tramp-frame.h (tramp_frame_prepend_unwinder): Rename tramp_frame_append. * tramp-frame.c (tramp_frame_prepend_unwinder): Update. * mips-linux-tdep.c (mips_linux_init_abi, mips_linux_init_abi) (mips_linux_init_abi): Update.
This commit is contained in:
@@ -131,11 +131,14 @@ struct frame_unwind
|
||||
frame_sniffer_ftype *sniffer;
|
||||
};
|
||||
|
||||
/* Register a frame unwinder, _appending_ it to the end of the search
|
||||
list. */
|
||||
extern void frame_unwind_register_unwinder (struct gdbarch *gdbarch,
|
||||
const struct frame_unwind *unwinder);
|
||||
|
||||
/* Register a frame unwinder, _prepending_ it to the front of the
|
||||
search list (so it is sniffed before previously registered
|
||||
unwinders). By using a prepend, later calls can install unwinders
|
||||
that override earlier calls. This allows, for instance, an OSABI
|
||||
to install a a more specific sigtramp unwinder that overrides the
|
||||
traditional brute-force unwinder. */
|
||||
extern void frame_unwind_prepend_unwinder (struct gdbarch *gdbarch,
|
||||
const struct frame_unwind *unwinder);
|
||||
|
||||
/* Given the NEXT frame, take a wiff of THIS frame's registers (namely
|
||||
the PC and attributes) and if it is the applicable unwinder return
|
||||
|
||||
Reference in New Issue
Block a user