diff options
author | Andrew Cagney <cagney@redhat.com> | 2003-03-12 15:39:30 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2003-03-12 15:39:30 +0000 |
commit | 7a25a7c1cc419c2f4106843387e0c8be92471523 (patch) | |
tree | e5d344262a55505f1431211070aed2ee1a9667bf /gdb/frame-unwind.h | |
parent | c4d8feb262fa437232fb144da11b9f449d3b7715 (diff) | |
download | gdb-7a25a7c1cc419c2f4106843387e0c8be92471523.zip gdb-7a25a7c1cc419c2f4106843387e0c8be92471523.tar.gz gdb-7a25a7c1cc419c2f4106843387e0c8be92471523.tar.bz2 |
2003-03-12 Andrew Cagney <cagney@redhat.com>
Eliminate the need for POP_FRAME.
* frame.c (do_frame_unwind_register): New function.
(frame_pop): When no POP_FRAME, pop the frame using register
unwind and a scratch regcache.
(frame_saved_regs_pop): Delete function.
(trad_frame_unwinder): Update.
* d10v-tdep.c (d10v_frame_pop): Delete function.
(d10v_frame_unwind): Update.
* sentinel-frame.c (sentinel_frame_pop): Delete function.
(sentinel_frame_unwinder): Update.
* dummy-frame.c (dummy_frame_pop): Delete function.
(dummy_frame_unwind): Update.
* frame-unwind.h (frame_unwind_pop_ftype): Delete definition.
(struct frame_unwind): Update.
Diffstat (limited to 'gdb/frame-unwind.h')
-rw-r--r-- | gdb/frame-unwind.h | 16 |
1 files changed, 0 insertions, 16 deletions
diff --git a/gdb/frame-unwind.h b/gdb/frame-unwind.h index 7f4a866..5d85efe 100644 --- a/gdb/frame-unwind.h +++ b/gdb/frame-unwind.h @@ -76,27 +76,11 @@ typedef void (frame_unwind_id_ftype) (struct frame_info * frame, void **unwind_cache, struct frame_id * id); -/* Discard the frame by restoring the registers (in regcache) back to - that of the caller. */ -/* NOTE: cagney/2003-01-19: While at present the callers all pop each - frame in turn, the implementor should try to code things so that - any frame can be popped directly. */ -/* FIXME: cagney/2003-01-19: Since both FRAME and REGCACHE refer to a - common register cache, care must be taken when restoring the - registers. The `correct fix' is to first first save the registers - in a scratch cache, and second write that scratch cache back to to - the real register cache. */ - -typedef void (frame_unwind_pop_ftype) (struct frame_info *frame, - void **unwind_cache, - struct regcache *regcache); - struct frame_unwind { /* Should the frame's type go here? */ /* Should an attribute indicating the frame's address-in-block go here? */ - frame_unwind_pop_ftype *pop; frame_unwind_id_ftype *id; frame_unwind_reg_ftype *reg; }; |