2003-01-07 Andrew Cagney <cagney@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Tue, 7 Jan 2003 22:53:09 +0000 (22:53 +0000)
committerAndrew Cagney <cagney@redhat.com>
Tue, 7 Jan 2003 22:53:09 +0000 (22:53 +0000)
* 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
gdb/dwarf2cfi.c
gdb/frame.c
gdb/frame.h

index 611d249..3b4b360 100644 (file)
@@ -1,5 +1,14 @@
 2003-01-07  Andrew Cagney  <cagney@redhat.com>
 
+       * 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  <cagney@redhat.com>
+
        * frame.c (deprecated_set_frame_next_hack): New function.
        (deprecated_set_frame_prev_hack): New function.
        * frame.h (deprecated_set_frame_next_hack): Declare.
index 22b9983..a2ce1a5 100644 (file)
@@ -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)))
 \f
 
 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,
index f09a47b..ec2aab1 100644 (file)
@@ -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)
 {
index 2f50eeb..f32021c 100644 (file)
@@ -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)  */