aboutsummaryrefslogtreecommitdiff
path: root/gdb/frame.h
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2011-03-18 18:45:30 +0000
committerPedro Alves <palves@redhat.com>2011-03-18 18:45:30 +0000
commit008f8f2ee9bf610485993a17c1c460afb3cadc6c (patch)
tree6c6358cfe7ed6c0f1e24ce34825dbdb50a6483fe /gdb/frame.h
parente3eebbd742b7c1820bead11710b71bfee694d7fa (diff)
downloadgdb-008f8f2ee9bf610485993a17c1c460afb3cadc6c.zip
gdb-008f8f2ee9bf610485993a17c1c460afb3cadc6c.tar.gz
gdb-008f8f2ee9bf610485993a17c1c460afb3cadc6c.tar.bz2
gdb/
* frame.h (frame_unwind_caller_pc_if_available): Declare. * frame.c (frame_unwind_caller_pc_if_available): New. * stack.c (frame_info): Handle unavailable PC.
Diffstat (limited to 'gdb/frame.h')
-rw-r--r--gdb/frame.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/frame.h b/gdb/frame.h
index 25f20a9..7bc1148 100644
--- a/gdb/frame.h
+++ b/gdb/frame.h
@@ -562,6 +562,14 @@ extern void put_frame_register_bytes (struct frame_info *frame, int regnum,
extern CORE_ADDR frame_unwind_caller_pc (struct frame_info *frame);
+/* Same as frame_unwind_caller_pc, but returns a boolean indication of
+ whether the caller PC is determinable (when the PC is unavailable,
+ it will not be), instead of possibly throwing an error trying to
+ read unavailable memory or registers. */
+
+extern int frame_unwind_caller_pc_if_available (struct frame_info *this_frame,
+ CORE_ADDR *pc);
+
/* Discard the specified frame. Restoring the registers to the state
of the caller. */
extern void frame_pop (struct frame_info *frame);