summaryrefslogtreecommitdiff
path: root/gdb/frame.h
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2009-09-02 14:53:52 +0000
committerTom Tromey <tromey@redhat.com>2009-09-02 14:53:52 +0000
commiteb6eb0c014f9de9f5e4c6909291e8a6c96f1b1d9 (patch)
treeeea8a6d2c52ce03258d2e969e1f96ca9bbf5ab6b /gdb/frame.h
parent18111055212657a23aabfa4ebe33914546eeefc6 (diff)
downloadgdb-eb6eb0c014f9de9f5e4c6909291e8a6c96f1b1d9.tar.gz
gdb
* frame.h (frame_unwinder_is): Declare. * frame.c (frame_unwinder_is): New function. * dwarf2loc.c: Include dwarf2-frame.h. (dwarf_expr_frame_cfa): New function. (dwarf2_evaluate_loc_desc): Use it. (needs_frame_frame_cfa): New function. (dwarf2_loc_desc_needs_frame): Use it. * dwarf2expr.h (struct dwarf_expr_context) <get_frame_cfa>: New field. * dwarf2expr.c (execute_stack_op) <DW_OP_call_frame_cfa>: New case. * dwarf2-frame.h (dwarf2_frame_cfa): Declare. * dwarf2-frame.c (no_get_frame_cfa): New function. (execute_stack_op): Use it. (dwarf2_frame_cfa): New function. gdb/testsuite * gdb.dwarf2/callframecfa.exp: New file. * gdb.dwarf2/callframecfa.S: New file.
Diffstat (limited to 'gdb/frame.h')
-rw-r--r--gdb/frame.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/frame.h b/gdb/frame.h
index febef5c04f7..611c6d3562e 100644
--- a/gdb/frame.h
+++ b/gdb/frame.h
@@ -696,4 +696,10 @@ extern struct frame_info *deprecated_safe_get_selected_frame (void);
extern struct frame_info *create_new_frame (CORE_ADDR base, CORE_ADDR pc);
+/* Return true if the frame unwinder for frame FI is UNWINDER; false
+ otherwise. */
+
+extern int frame_unwinder_is (struct frame_info *fi,
+ const struct frame_unwind *unwinder);
+
#endif /* !defined (FRAME_H) */