diff options
Diffstat (limited to 'gdb/frame.h')
-rw-r--r-- | gdb/frame.h | 50 |
1 files changed, 6 insertions, 44 deletions
diff --git a/gdb/frame.h b/gdb/frame.h index f77a05edf63..6b80afc3136 100644 --- a/gdb/frame.h +++ b/gdb/frame.h @@ -309,41 +309,9 @@ extern CORE_ADDR frame_pc_unwind (struct frame_info *frame); extern struct frame_id frame_id_unwind (struct frame_info *frame); -/* Return the location (and possibly value) of REGNUM for the previous - (older, up) frame. All parameters except VALUEP can be assumed to - be non NULL. When VALUEP is NULL, just the location of the - register should be returned. - - UNWIND_CACHE is provided as mechanism for implementing a per-frame - local cache. It's initial value being NULL. Memory for that cache - should be allocated using frame_obstack_zalloc(). - - Register window architectures (eg SPARC) should note that REGNUM - identifies the register for the previous frame. For instance, a - request for the value of "o1" for the previous frame would be found - in the register "i1" in this FRAME. */ - -typedef void (frame_register_unwind_ftype) (struct frame_info *frame, - struct frame_unwind_cache **unwind_cache, - int regnum, - int *optimized, - enum lval_type *lvalp, - CORE_ADDR *addrp, - int *realnump, - void *valuep); - -/* Same as for registers above, but return the address at which the - calling frame would resume. */ - -typedef CORE_ADDR (frame_pc_unwind_ftype) (struct frame_info *frame, - struct frame_unwind_cache **unwind_cache); - -/* Same as for registers above, but return the ID of the frame that - called this one. */ - -typedef void (frame_id_unwind_ftype) (struct frame_info *frame, - struct frame_unwind_cache **unwind_cache, - struct frame_id *id); +/* FIXME: cagney/2003-01-12: Once `struct frame_info' has been made + opaque, this include can go. */ +#include "frame-unwind.h" /* Describe the saved registers of a frame. */ @@ -431,19 +399,13 @@ struct frame_info /* Unwind cache shared between the unwind functions - they had better all agree as to the contents. */ struct frame_unwind_cache *unwind_cache; + const struct frame_unwind *unwind; - /* See description above. The previous frame's registers. */ - frame_register_unwind_ftype *register_unwind; - - /* See description above. The previous frame's resume address. - Save the previous PC in a local cache. */ - frame_pc_unwind_ftype *pc_unwind; + /* Cache for the unwound PC value. */ int pc_unwind_cache_p; CORE_ADDR pc_unwind_cache; - /* See description above. The previous frame's resume address. - Save the previous PC in a local cache. */ - frame_id_unwind_ftype *id_unwind; + /* Cache for the unwound frame ID value. */ int id_unwind_cache_p; struct frame_id id_unwind_cache; |