aboutsummaryrefslogtreecommitdiff
path: root/gdb/dummy-frame.h
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-01-18 17:25:23 +0000
committerAndrew Cagney <cagney@redhat.com>2003-01-18 17:25:23 +0000
commit494cca16bdd872bee43d180d3f786d1955d1eb01 (patch)
treef7c150ffd3dc867d280bbf81999d036f2b454e40 /gdb/dummy-frame.h
parent4efb68b1ad0f40fa002c954c213a516d1e39cfb3 (diff)
downloadgdb-494cca16bdd872bee43d180d3f786d1955d1eb01.zip
gdb-494cca16bdd872bee43d180d3f786d1955d1eb01.tar.gz
gdb-494cca16bdd872bee43d180d3f786d1955d1eb01.tar.bz2
2003-01-18 Andrew Cagney <ac131313@redhat.com>
* dummy-frame.h (dummy_frame_id_unwind): Delete declaration. (dummy_frame_pc_unwind, dummy_frame_register_unwind): Ditto. (struct frame_unwind): Declare opaque. (dummy_frame_p): Declare function. * dummy-frame.c (dummy_frame_id_unwind): Make static. (dummy_frame_pc_unwind, dummy_frame_register_unwind): Ditto. * dummy-frame.c: Include "frame-unwind.h". (dummy_frame_p): New function. (dummy_frame_unwind): New variable. * frame.c: Include "frame-unwind.h". (frame_pc_unwind, frame_id_unwind, frame_register_unwind): Update to use the new unwind field. (set_unwind_by_pc): Delete function. (create_new_frame, get_prev_frame): Set unwind field using frame_unwind_find_by_pc. (trad_frame_unwind, trad_frame_unwinder): New variables. * frame.h (trad_frame_unwind): Declare variable. (frame_id_unwind_ftype): Delete declaration. (frame_pc_unwind_ftype, frame_register_unwind_ftype): Ditto. (struct frame_unwind): Declare opaque. (struct frame_info): Replace the fields id_unwind, pc_unwind and register_unwind with a single unwind pointer. * frame-unwind.h, frame-unwind.c: New files. * Makefile.in (SFILES): Add frame-unwind.c. (frame_unwind_h): Define. (COMMON_OBS): Add frame-unwind.o. (frame-unwind.o): Specify dependencies. (frame.o, dummy-frame.o): Update dependencies.
Diffstat (limited to 'gdb/dummy-frame.h')
-rw-r--r--gdb/dummy-frame.h27
1 files changed, 4 insertions, 23 deletions
diff --git a/gdb/dummy-frame.h b/gdb/dummy-frame.h
index 746e663..2d03421 100644
--- a/gdb/dummy-frame.h
+++ b/gdb/dummy-frame.h
@@ -24,6 +24,7 @@
struct frame_info;
struct regcache;
+struct frame_unwind;
struct frame_id;
/* GENERIC DUMMY FRAMES
@@ -43,30 +44,10 @@ struct frame_id;
generic_{file,func}_frame_chain_valid and FIX_CALL_DUMMY as
generic_fix_call_dummy. */
-/* Assuming that FRAME is a dummy, return a register value for the
- previous frame. */
+/* If the PC falls in a dummy frame, return a dummy frame
+ unwinder. */
-extern void dummy_frame_register_unwind (struct frame_info *frame,
- void **unwind_cache,
- int regnum,
- int *optimized,
- enum lval_type *lvalp,
- CORE_ADDR *addrp,
- int *realnump,
- void *valuep);
-
-/* Assuming that FRAME is a dummy, return the resume address for the
- previous frame. */
-
-extern CORE_ADDR dummy_frame_pc_unwind (struct frame_info *frame,
- void **unwind_cache);
-
-/* Assuming that FRAME is a dummy, return the ID of the calling frame
- (the frame that the dummy has the saved state of). */
-
-extern void dummy_frame_id_unwind (struct frame_info *frame,
- void **unwind_cache,
- struct frame_id *id);
+extern const struct frame_unwind *dummy_frame_p (CORE_ADDR pc);
/* Does the PC fall in a dummy frame?