Honor detach-on-fork on FreeBSD.
[deliverable/binutils-gdb.git] / gdb / dwarf2-frame.h
index aeff54a22b914ebd6340b585c50ff4c3c684aedf..d02b26f5f530832d8df381e1c5db1426070b1b84 100644 (file)
@@ -1,6 +1,6 @@
 /* Frame unwinder for frames with DWARF Call Frame Information.
 
-   Copyright (C) 2003, 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2003-2016 Free Software Foundation, Inc.
 
    Contributed by Mark Kettenis.
 
@@ -25,6 +25,9 @@
 struct gdbarch;
 struct objfile;
 struct frame_info;
+struct dwarf2_per_cu_data;
+struct agent_expr;
+struct axs_value;
 
 /* Register rule.  */
 
@@ -71,7 +74,7 @@ struct dwarf2_frame_state_reg
   union {
     LONGEST offset;
     ULONGEST reg;
-    unsigned char *exp;
+    const gdb_byte *exp;
     struct value *(*fn) (struct frame_info *this_frame, void **this_cache,
                         int regnum);
   } loc;
@@ -113,8 +116,30 @@ void dwarf2_append_unwinders (struct gdbarch *gdbarch);
 extern const struct frame_base *
   dwarf2_frame_base_sniffer (struct frame_info *this_frame);
 
-/* Register the DWARF CFI for OBJFILE.  */
+/* Compute the DWARF CFA for a frame.  */
 
-void dwarf2_frame_build_info (struct objfile *objfile);
+CORE_ADDR dwarf2_frame_cfa (struct frame_info *this_frame);
+
+/* Find the CFA information for PC.
+
+   Return 1 if a register is used for the CFA, or 0 if another
+   expression is used.  Throw an exception on error.
+
+   GDBARCH is the architecture to use.
+   DATA is the per-CU data.
+
+   REGNUM_OUT is an out parameter that is set to the register number.
+   OFFSET_OUT is the offset to use from this register.
+   These are only filled in when 1 is returned.
+
+   TEXT_OFFSET_OUT, CFA_START_OUT, and CFA_END_OUT describe the CFA
+   in other cases.  These are only used when 0 is returned.  */
+
+extern int dwarf2_fetch_cfa_info (struct gdbarch *gdbarch, CORE_ADDR pc,
+                                 struct dwarf2_per_cu_data *data,
+                                 int *regnum_out, LONGEST *offset_out,
+                                 CORE_ADDR *text_offset_out,
+                                 const gdb_byte **cfa_start_out,
+                                 const gdb_byte **cfa_end_out);
 
 #endif /* dwarf2-frame.h */
This page took 0.03322 seconds and 4 git commands to generate.