* dwarf2-frame.h (dwarf2_frame_set_init_reg): New prototype.

* dwarf2-frame.c (dwarf2_frame_data): New variable.
(struct dwarf2_frame_ops): New.
(dwarf2_frame_default_init_reg): New function, based on
dwarf2_frame_init_reg.
(dwarf2_frame_init, dwarf2_frame_set_init_reg): New function.
(dwarf2_frame_init_reg): Call architecture-specific function.
(dwarf2_frame_objfile_data): Renamed from dwarf2_frame_data.
(dwarf2_frame_find_fde, add_fde): Use dwarf2_frame_objfile_data
instead of dwarf2_frame_data.
(_initialize_dwarf2_frame): Initailize new dwarf2_frame_data.
Initialize dwarf2_frame_objfile instead of old dwarf2_frame_data.
This commit is contained in:
Mark Kettenis
2004-02-15 21:29:26 +00:00
parent 046a4708e4
commit 8f22cb9068
3 changed files with 118 additions and 42 deletions

View File

@@ -71,6 +71,13 @@ struct dwarf2_frame_state_reg
enum dwarf2_frame_reg_rule how;
};
/* Set the architecture-specific register state initialization
function for GDBARCH to INIT_REG. */
extern void dwarf2_frame_set_init_reg (struct gdbarch *gdbarch,
void (*init_reg) (struct gdbarch *, int,
struct dwarf2_frame_state_reg *));
/* Return the frame unwind methods for the function that contains PC,
or NULL if it can't be handled by DWARF CFI frame unwinder. */