/* Frame unwinder for frames with DWARF Call Frame Information.
- Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
Contributed by Mark Kettenis.
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. */
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. */
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. */