2002-12-18 Andrew Cagney <ac131313@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Wed, 18 Dec 2002 18:03:42 +0000 (18:03 +0000)
committerAndrew Cagney <cagney@redhat.com>
Wed, 18 Dec 2002 18:03:42 +0000 (18:03 +0000)
* frame.c (deprecated_update_current_frame_pc_hack): Replace
deprecated_update_current_frame_pc_hack.
(deprecated_update_frame_base_hack): New function.
* frame.h (deprecated_update_frame_pc_hack): Replace
(deprecated_update_frame_base_hack): Declare.
* infrun.c (normal_stop): Update.

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

index da71028d43297bd0edd4c5f6f5b0d5b3ea994662..e65f4425f81c6a416426d15747a93d9d201df743 100644 (file)
@@ -1,3 +1,12 @@
+2002-12-18  Andrew Cagney  <ac131313@redhat.com>
+
+       * frame.c (deprecated_update_current_frame_pc_hack): Replace 
+       deprecated_update_current_frame_pc_hack.
+       (deprecated_update_frame_base_hack): New function.
+       * frame.h (deprecated_update_frame_pc_hack): Replace
+       (deprecated_update_frame_base_hack): Declare.
+       * infrun.c (normal_stop): Update.
+
 2002-12-18  Andrew Cagney  <ac131313@redhat.com>
 
        * rs6000-tdep.c (rs6000_init_extra_frame_info): Use
index 17ee8327a6777dbd9d9cba0ed005b03dca9b8a1c..ecdf408c5cf97ae3c6c8f1941cbda56f1445a5b2 100644 (file)
@@ -1297,14 +1297,17 @@ frame_extra_info_zalloc (struct frame_info *fi, long size)
 }
 
 void
-deprecated_update_current_frame_pc_hack (CORE_ADDR pc)
+deprecated_update_frame_pc_hack (struct frame_info *frame, CORE_ADDR pc)
 {
-  /* FIXME: cagney/2002-12-06: Has the PC in the current frame
-     changed?  "infrun.c", Thanks to DECR_PC_AFTER_BREAK, can change
-     the PC after the initial frame create.  This puts things back in
-     sync.  */
-  if (current_frame != NULL)
-    current_frame->pc = pc;
+  /* See comment in "frame.h".  */
+  frame->pc = pc;
+}
+
+void
+deprecated_update_frame_base_hack (struct frame_info *frame, CORE_ADDR base)
+{
+  /* See comment in "frame.h".  */
+  frame->frame = base;
 }
 
 void
index 234c281d53b16ffde8abeb69e0b66e5c124eff25..c9c56476bc4c2ab3e36ea114a03157d1c558762b 100644 (file)
@@ -663,6 +663,15 @@ extern CORE_ADDR *get_frame_saved_regs (struct frame_info *);
 /* FIXME: cagney/2002-12-06: Has the PC in the current frame changed?
    "infrun.c", Thanks to DECR_PC_AFTER_BREAK, can change the PC after
    the initial frame create.  This puts things back in sync.  */
-extern void deprecated_update_current_frame_pc_hack (CORE_ADDR pc);
+extern void deprecated_update_frame_pc_hack (struct frame_info *frame,
+                                            CORE_ADDR pc);
+
+/* FIXME: cagney/2002-12-18: Has the frame's base changed?  Or to be
+   more exact, whas that initial guess at the frame's base as returned
+   by read_fp() wrong.  If it was, fix it.  This shouldn't be
+   necessary since the code should be getting the frame's base correct
+   from the outset.  */
+extern void deprecated_update_frame_base_hack (struct frame_info *frame,
+                                              CORE_ADDR base);
 
 #endif /* !defined (FRAME_H)  */
index 6a239a50e9b75ea8f0042fe5f63a7ca5d3870e2a..aa404cfcd1446d7843f72a799f63ae12de872e89 100644 (file)
@@ -2985,7 +2985,7 @@ normal_stop (void)
        DECR_PC_AFTER_BREAK, the program counter can change.  Ask the
        frame code to check for this and sort out any resultant mess.
        DECR_PC_AFTER_BREAK needs to just go away.  */
-    deprecated_update_current_frame_pc_hack (read_pc ());
+    deprecated_update_frame_pc_hack (get_current_frame (), read_pc ());
 
   if (target_has_execution && breakpoints_inserted)
     {