aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2-frame.h
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2011-02-17 16:20:44 +0000
committerTom Tromey <tromey@redhat.com>2011-02-17 16:20:44 +0000
commit9f6f94ff251ac7faaed16ff4cc13b6e8a9ad8997 (patch)
tree3291ae5bd655545060156cb49a061a11f8fc0970 /gdb/dwarf2-frame.h
parent98e16b7718cb6978c9a0bd1919bd1856a3b442cb (diff)
downloadgdb-9f6f94ff251ac7faaed16ff4cc13b6e8a9ad8997.zip
gdb-9f6f94ff251ac7faaed16ff4cc13b6e8a9ad8997.tar.gz
gdb-9f6f94ff251ac7faaed16ff4cc13b6e8a9ad8997.tar.bz2
* dwarf2loc.h (dwarf2_compile_expr_to_ax): Declare.
* dwarf2loc.c (dwarf2_compile_expr_to_ax): Rename from compile_dwarf_to_ax. No longer static. Call dwarf2_compile_cfa_to_ax. (locexpr_tracepoint_var_ref): Update. (loclist_tracepoint_var_ref): Update. * dwarf2-frame.h (dwarf2_compile_cfa_to_ax): Declare. * dwarf2-frame.c (execute_cfa_program): Remove 'this_frame' argument; add 'gdbarch' and 'pc'. (dwarf2_compile_cfa_to_ax): New function. (dwarf2_frame_cache): Update.
Diffstat (limited to 'gdb/dwarf2-frame.h')
-rw-r--r--gdb/dwarf2-frame.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/gdb/dwarf2-frame.h b/gdb/dwarf2-frame.h
index bf7134d..91d7643 100644
--- a/gdb/dwarf2-frame.h
+++ b/gdb/dwarf2-frame.h
@@ -26,6 +26,9 @@
struct gdbarch;
struct objfile;
struct frame_info;
+struct dwarf2_per_cu_data;
+struct agent_expr;
+struct axs_value;
/* Register rule. */
@@ -118,4 +121,15 @@ extern const struct frame_base *
CORE_ADDR dwarf2_frame_cfa (struct frame_info *this_frame);
+/* Update the agent expression EXPR with code to compute the CFA for a
+ frame at PC. GDBARCH is the architecture of the function at PC.
+ This function may call dwarf2_compile_expr_to_ax; DATA is passed
+ through to that function if needed. */
+
+extern void dwarf2_compile_cfa_to_ax (struct agent_expr *expr,
+ struct axs_value *loc,
+ struct gdbarch *gdbarch,
+ CORE_ADDR pc,
+ struct dwarf2_per_cu_data *data);
+
#endif /* dwarf2-frame.h */