2003-04-09 Andrew Cagney <cagney@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Wed, 9 Apr 2003 18:24:01 +0000 (18:24 +0000)
committerAndrew Cagney <cagney@redhat.com>
Wed, 9 Apr 2003 18:24:01 +0000 (18:24 +0000)
* frame.c (get_frame_id): Eliminate code updating "frame".
(legacy_get_prev_frame): Ditto.
(get_frame_base): Return id.base directly.
(deprecated_update_frame_base_hack): Update "id.base".
* frame.h (struct frame_info): Delete field "frame".

gdb/ChangeLog
gdb/frame.c
gdb/frame.h

index e0a42b6..afedf69 100644 (file)
@@ -1,5 +1,13 @@
 2003-04-09  Andrew Cagney  <cagney@redhat.com>
 
+       * frame.c (get_frame_id): Eliminate code updating "frame".
+       (legacy_get_prev_frame): Ditto.
+       (get_frame_base): Return id.base directly.
+       (deprecated_update_frame_base_hack): Update "id.base".
+       * frame.h (struct frame_info): Delete field "frame".
+
+2003-04-09  Andrew Cagney  <cagney@redhat.com>
+
        * NEWS: Mention that the "Sequent family" is obsolete.
        * configure.tgt: Obsolete i[3456]86-sequent-bsd*,
        i[3456]86-sequent-sysv4*, and i[3456]86-sequent-sysv*.
index fd2b3ea..198642a 100644 (file)
@@ -64,11 +64,8 @@ get_frame_id (struct frame_info *fi)
       /* Find THIS frame's ID.  */
       fi->unwind->this_id (fi->next, &fi->prologue_cache, &fi->id);
       fi->id_p = 1;
-      /* FIXME: cagney/2002-12-18: Instead of this hack, should only
-        store the frame ID in PREV_FRAME.  */
-      fi->frame = fi->id.base;
     }
-  return frame_id_build (fi->frame, get_frame_pc (fi));
+  return frame_id_build (fi->id.base, get_frame_pc (fi));
 }
 
 const struct frame_id null_frame_id; /* All zeros.  */
@@ -1172,12 +1169,6 @@ legacy_get_prev_frame (struct frame_info *this_frame)
         after the switch to storing the frame ID, instead of the
         frame base, in the frame object.  */
 
-      /* FIXME: cagney/2002-12-18: Instead of this hack, should only
-        store the frame ID in PREV_FRAME.  */
-      /* FIXME: cagney/2003-04-04: Once ->frame is eliminated, this
-         assignment can go.  */
-      prev->frame = prev->id.base;
-
       /* Link it in.  */
       this_frame->prev = prev;
 
@@ -1682,13 +1673,7 @@ find_frame_sal (struct frame_info *frame, struct symtab_and_line *sal)
 CORE_ADDR
 get_frame_base (struct frame_info *fi)
 {
-  if (!fi->id_p)
-    {
-      /* HACK: Force the ID code to (indirectly) initialize the
-         ->frame pointer.  */
-      get_frame_id (fi);
-    }
-  return fi->frame;
+  return get_frame_id (fi).base;
 }
 
 /* High-level offsets into the frame.  Used by the debug info.  */
@@ -1812,7 +1797,7 @@ void
 deprecated_update_frame_base_hack (struct frame_info *frame, CORE_ADDR base)
 {
   /* See comment in "frame.h".  */
-  frame->frame = base;
+  frame->id.base = base;
 }
 
 void
index e352ebc..a03e571 100644 (file)
@@ -337,12 +337,6 @@ extern void frame_pop (struct frame_info *frame);
 
 struct frame_info
   {
-    /* Nominal address of the frame described.  See comments at
-       get_frame_base() about what this means outside the *FRAME*
-       macros; in the *FRAME* macros, it can mean whatever makes most
-       sense for this machine.  */
-    CORE_ADDR frame;
-
     /* Address at which execution is occurring in this frame.
        For the innermost frame, it's the current pc.
        For other frames, it is a pc saved in the next frame.  */