summaryrefslogtreecommitdiff
path: root/gdb/dwarf2-frame.h
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2011-02-17 16:20:37 +0000
committerTom Tromey <tromey@redhat.com>2011-02-17 16:20:37 +0000
commit8d35b3995d73e87826263f02da0fd05190d34638 (patch)
treed611d7380414e6d36ea9a8707ae5d00e3d460efb /gdb/dwarf2-frame.h
parent029b4abd8e0cefb1a5441fa21aef6194e2937005 (diff)
downloadgdb-8d35b3995d73e87826263f02da0fd05190d34638.tar.gz
* 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 bf7134de28f..91d7643be62 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 */