diff options
author | Andreas Schwab <schwab@linux-m68k.org> | 2006-05-09 21:14:17 +0000 |
---|---|---|
committer | Andreas Schwab <schwab@linux-m68k.org> | 2006-05-09 21:14:17 +0000 |
commit | 4bf8967cb234b25f2732ecb075344fa17ce05f75 (patch) | |
tree | c67df90c7cc4fe5f866adee5ebcb5f941e21a61c /gdb/dwarf2-frame.h | |
parent | 43cc0762b25b15d4e39fe23e68fd719f03108e98 (diff) | |
download | gdb-4bf8967cb234b25f2732ecb075344fa17ce05f75.zip gdb-4bf8967cb234b25f2732ecb075344fa17ce05f75.tar.gz gdb-4bf8967cb234b25f2732ecb075344fa17ce05f75.tar.bz2 |
* dwarf2-frame.c (struct dwarf2_fde): Add eh_frame_p.
(execute_cfa_program): Add parameter eh_frame_p. Call
dwarf2_frame_eh_frame_regnum when true.
(dwarf2_frame_cache): Pass eh_frame_p from fde to
execute_cfa_program.
(decode_frame_entry_1): Call dwarf2_frame_eh_frame_regnum when
processing .eh_frame. Copy eh_frame_p to the new fde.
(struct dwarf2_frame_ops): Add eh_frame_regnum.
(dwarf2_frame_set_eh_frame_regnum): Define.
(dwarf2_frame_eh_frame_regnum): Define.
* dwarf2-frame.h (dwarf2_frame_set_eh_frame_regnum): Declare.
(dwarf2_frame_eh_frame_regnum): Declare.
Diffstat (limited to 'gdb/dwarf2-frame.h')
-rw-r--r-- | gdb/dwarf2-frame.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gdb/dwarf2-frame.h b/gdb/dwarf2-frame.h index a4ad586..da9fe47 100644 --- a/gdb/dwarf2-frame.h +++ b/gdb/dwarf2-frame.h @@ -90,6 +90,19 @@ extern void 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. */ |