* mi/mi-parse.h: Include <sys/time.h>.
[deliverable/binutils-gdb.git] / gdb / dwarf2-frame.h
index 1ae44b5064c74d565d17b6ee3ae31349ea0ef7d9..a92a79d244a28f8cc4ec272add41fae8a6f4eb01 100644 (file)
@@ -1,6 +1,6 @@
 /* Frame unwinder for frames with DWARF Call Frame Information.
 
-   Copyright 2003, 2004 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
 
    Contributed by Mark Kettenis.
 
@@ -18,8 +18,8 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
 
 #ifndef DWARF2_FRAME_H
 #define DWARF2_FRAME_H 1
@@ -51,10 +51,16 @@ enum dwarf2_frame_reg_rule
   DWARF2_FRAME_REG_SAVED_EXP,
   DWARF2_FRAME_REG_SAME_VALUE,
 
+  /* These are defined in Dwarf3.  */
+  DWARF2_FRAME_REG_SAVED_VAL_OFFSET,
+  DWARF2_FRAME_REG_SAVED_VAL_EXP,
+
   /* These aren't defined by the DWARF2 CFI specification, but are
      used internally by GDB.  */
   DWARF2_FRAME_REG_RA,         /* Return Address.  */
-  DWARF2_FRAME_REG_CFA         /* Call Frame Address.  */
+  DWARF2_FRAME_REG_RA_OFFSET,  /* Return Address with offset.  */
+  DWARF2_FRAME_REG_CFA,                /* Call Frame Address.  */
+  DWARF2_FRAME_REG_CFA_OFFSET  /* Call Frame Address with offset.  */
 };
 
 /* Register state.  */
@@ -77,7 +83,29 @@ struct dwarf2_frame_state_reg
 
 extern void dwarf2_frame_set_init_reg (struct gdbarch *gdbarch,
                                       void (*init_reg) (struct gdbarch *, int,
-                                            struct dwarf2_frame_state_reg *));
+                                            struct dwarf2_frame_state_reg *,
+                                            struct frame_info *));
+
+/* Set the architecture-specific signal trampoline recognition
+   function for GDBARCH to SIGNAL_FRAME_P.  */
+
+extern void
+  dwarf2_frame_set_signal_frame_p (struct gdbarch *gdbarch,
+                                  int (*signal_frame_p) (struct gdbarch *,
+                                                         struct frame_info *));
+
+/* Set the architecture-specific mapping of .eh_frame register numbers to
+   DWARF register numbers.  */
+
+extern void
+  dwarf2_frame_set_eh_frame_regnum (struct gdbarch *gdbarch,
+                                   int (*eh_frame_regnum) (struct gdbarch *,
+                                                           int));
+
+/* Translate a .eh_frame register to DWARF register.  */
+
+extern int
+  dwarf2_frame_eh_frame_regnum (struct gdbarch *gdbarch, int regnum);
 
 /* Return the frame unwind methods for the function that contains PC,
    or NULL if it can't be handled by DWARF CFI frame unwinder.  */
This page took 0.025512 seconds and 4 git commands to generate.