aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbarch.h
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-03-10 15:28:41 +0000
committerAndrew Cagney <cagney@redhat.com>2003-03-10 15:28:41 +0000
commit12cc2063bed3b79f2a3e92342e92dc6211a3bf12 (patch)
treec65dc866e40ffdd0796020c984da78caaa0d9565 /gdb/gdbarch.h
parenta2ce2e563724c710bcaeaa361ec61446a599060b (diff)
downloadgdb-12cc2063bed3b79f2a3e92342e92dc6211a3bf12.zip
gdb-12cc2063bed3b79f2a3e92342e92dc6211a3bf12.tar.gz
gdb-12cc2063bed3b79f2a3e92342e92dc6211a3bf12.tar.bz2
2003-03-10 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh (gdbarch_unwind_pc): New method. * gdbarch.h, gdbarch.c: Regenerate. * frame.c (frame_pc_unwind): Rewrite. Prefer gdbarch_unwind_pc, but use read_pc and FRAME_SAVED_PC as fall backs. (frame_saved_regs_pc_unwind): Delete function. (trad_frame_unwinder): Update. * frame-unwind.h (frame_unwind_pc_ftype): Delete declaration. (struct frame_unwind): Update. * dummy-frame.c (dummy_frame_pc_unwind): Delete function. (dummy_frame_unwind): Update. * sentinel-frame.c (sentinel_frame_pc_unwind): Delete function. (sentinel_frame_unwinder): Update. * d10v-tdep.c (d10v_frame_pc_unwind): Delete function. (d10v_frame_unwind): Update. (d10v_unwind_pc): New function. (d10v_gdbarch_init): Set unwind_pc. Index: doc/ChangeLog 2003-03-10 Andrew Cagney <cagney@redhat.com> * gdbint.texinfo (Target Architecture Definition): Cross reference FRAME_SAVED_PC to unwind_pc. Document unwind_pc.
Diffstat (limited to 'gdb/gdbarch.h')
-rw-r--r--gdb/gdbarch.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h
index 75d96ed..abb454a 100644
--- a/gdb/gdbarch.h
+++ b/gdb/gdbarch.h
@@ -2228,6 +2228,8 @@ extern void set_gdbarch_frame_chain_valid (struct gdbarch *gdbarch, gdbarch_fram
#endif
#endif
+/* NOTE: FRAME_SAVED_PC is replaced by UNWIND_PC */
+
#if defined (FRAME_SAVED_PC)
/* Legacy for systems yet to multi-arch FRAME_SAVED_PC */
#if !defined (FRAME_SAVED_PC_P)
@@ -2265,6 +2267,12 @@ extern void set_gdbarch_frame_saved_pc (struct gdbarch *gdbarch, gdbarch_frame_s
#endif
#endif
+extern int gdbarch_unwind_pc_p (struct gdbarch *gdbarch);
+
+typedef CORE_ADDR (gdbarch_unwind_pc_ftype) (struct gdbarch *gdbarch, struct frame_info *next_frame);
+extern CORE_ADDR gdbarch_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame);
+extern void set_gdbarch_unwind_pc (struct gdbarch *gdbarch, gdbarch_unwind_pc_ftype *unwind_pc);
+
/* Default (function) for non- multi-arch platforms. */
#if (!GDB_MULTI_ARCH) && !defined (FRAME_ARGS_ADDRESS)
#define FRAME_ARGS_ADDRESS(fi) (get_frame_base (fi))