From 2d75187b9e6fa5ec17ed9cf92367b2d9840518fd Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Tue, 7 Jan 2003 22:53:09 +0000 Subject: 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. --- gdb/ChangeLog | 9 +++++++++ gdb/dwarf2cfi.c | 4 ++-- gdb/frame.c | 13 +++++++++++++ gdb/frame.h | 12 ++++++++++++ 4 files changed, 36 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 611d249..3b4b360 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,14 @@ 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. (deprecated_set_frame_prev_hack): New function. * frame.h (deprecated_set_frame_next_hack): Declare. diff --git a/gdb/dwarf2cfi.c b/gdb/dwarf2cfi.c index 22b9983..a2ce1a5 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 f09a47b..ec2aab1 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 2f50eeb..f32021c 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) */ -- cgit v1.1