From: Andrew Cagney Date: Tue, 7 Jan 2003 22:53:09 +0000 (+0000) Subject: 2003-01-07 Andrew Cagney X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2d75187b9e6fa5ec17ed9cf92367b2d9840518fd;p=binutils-gdb.git 2003-01-07 Andrew Cagney * frame.c (deprecated_get_frame_context): New function. (deprecated_set_frame_context): New function. * frame.h (deprecated_get_frame_context): Declare. (deprecated_set_frame_context): Declare. * dwarf2cfi.c (UNWIND_CONTEXT): Use deprecated_get_frame_context. (cfi_init_extra_frame_info): Use deprecated_set_frame_context. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 611d249b2d1..3b4b3606b0a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2003-01-07 Andrew Cagney + + * frame.c (deprecated_get_frame_context): New function. + (deprecated_set_frame_context): New function. + * frame.h (deprecated_get_frame_context): Declare. + (deprecated_set_frame_context): Declare. + * dwarf2cfi.c (UNWIND_CONTEXT): Use deprecated_get_frame_context. + (cfi_init_extra_frame_info): Use deprecated_set_frame_context. + 2003-01-07 Andrew Cagney * frame.c (deprecated_set_frame_next_hack): New function. diff --git a/gdb/dwarf2cfi.c b/gdb/dwarf2cfi.c index 22b99830c34..a2ce1a50035 100644 --- a/gdb/dwarf2cfi.c +++ b/gdb/dwarf2cfi.c @@ -156,7 +156,7 @@ enum ptr_encoding PE_funcrel = DW_EH_PE_funcrel }; -#define UNWIND_CONTEXT(fi) ((struct context *) (fi->context)) +#define UNWIND_CONTEXT(fi) ((struct context *) (deprecated_get_frame_context (fi))) static struct cie_unit *cie_chunks; @@ -1770,7 +1770,7 @@ cfi_init_extra_frame_info (int fromleaf, struct frame_info *fi) unwind_tmp_obstack_init (); fs = frame_state_alloc (); - fi->context = frame_obstack_alloc (sizeof (struct context)); + deprecated_set_frame_context (fi, frame_obstack_alloc (sizeof (struct context))); UNWIND_CONTEXT (fi)->reg = frame_obstack_alloc (sizeof (struct context_reg) * NUM_REGS); memset (UNWIND_CONTEXT (fi)->reg, 0, diff --git a/gdb/frame.c b/gdb/frame.c index f09a47b4268..ec2aab1b3fb 100644 --- a/gdb/frame.c +++ b/gdb/frame.c @@ -1322,6 +1322,19 @@ deprecated_set_frame_prev_hack (struct frame_info *fi, fi->prev = prev; } +struct context * +deprecated_get_frame_context (struct frame_info *fi) +{ + return fi->context; +} + +void +deprecated_set_frame_context (struct frame_info *fi, + struct context *context) +{ + fi->context = context; +} + struct frame_info * deprecated_frame_xmalloc (void) { diff --git a/gdb/frame.h b/gdb/frame.h index 2f50eebd878..f32021cf0fa 100644 --- a/gdb/frame.h +++ b/gdb/frame.h @@ -701,4 +701,16 @@ extern void deprecated_set_frame_next_hack (struct frame_info *fi, extern void deprecated_set_frame_prev_hack (struct frame_info *fi, struct frame_info *prev); +/* FIXME: cagney/2003-01-07: Instead of the dwarf2cfi having its own + dedicated `struct frame_info . context' field, the code should use + the per frame `unwind_cache' that is passed to the + frame_pc_unwind(), frame_register_unwind() and frame_id_unwind() + methods. + + See "dummy-frame.c" for an example of how a cfi-frame object can be + implemented using this. */ +extern struct context *deprecated_get_frame_context (struct frame_info *fi); +extern void deprecated_set_frame_context (struct frame_info *fi, + struct context *context); + #endif /* !defined (FRAME_H) */