aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2009-01-24 19:17:24 +0000
committerPedro Alves <palves@redhat.com>2009-01-24 19:17:24 +0000
commit0516318b5d7203ff02f09e0d51ca567c5fba7ece (patch)
tree5f12d2ff6597e565778d55213af34e6ae6df74a6
parent9d5f04acb03c2e6591949f1748d0ce52c6eca580 (diff)
downloadgdb-0516318b5d7203ff02f09e0d51ca567c5fba7ece.zip
gdb-0516318b5d7203ff02f09e0d51ca567c5fba7ece.tar.gz
gdb-0516318b5d7203ff02f09e0d51ca567c5fba7ece.tar.bz2
* infrun.c (normal_stop): Don't call
deprecated_update_frame_pc_hack. * frame.c (deprecated_update_frame_pc_hack) (deprecated_update_frame_base_hack): Delete, and ... (create_new_frame): ... inline here. * frame.h (deprecated_update_frame_pc_hack) (deprecated_update_frame_base_hack): Delete declarations.
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/frame.c40
-rw-r--r--gdb/frame.h18
-rw-r--r--gdb/infrun.c11
4 files changed, 16 insertions, 63 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index e85963d..84e00ce 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,13 @@
+2009-01-24 Pedro Alves <pedro@codesourcery.com>
+
+ * infrun.c (normal_stop): Don't call
+ deprecated_update_frame_pc_hack.
+ * frame.c (deprecated_update_frame_pc_hack)
+ (deprecated_update_frame_base_hack): Delete, and ...
+ (create_new_frame): ... inline here.
+ * frame.h (deprecated_update_frame_pc_hack)
+ (deprecated_update_frame_base_hack): Delete declarations.
+
2009-01-23 Pedro Alves <pedro@codesourcery.com>
* cli/cli-decode.c (add_setshow_zuinteger_cmd): New.
diff --git a/gdb/frame.c b/gdb/frame.c
index f138133..7afb70f 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -1111,8 +1111,12 @@ create_new_frame (CORE_ADDR addr, CORE_ADDR pc)
fi->unwind = frame_unwind_find_by_frame (fi, &fi->prologue_cache);
fi->this_id.p = 1;
- deprecated_update_frame_base_hack (fi, addr);
- deprecated_update_frame_pc_hack (fi, pc);
+ fi->this_id.value.stack_addr = addr;
+ /* While we're at it, update this frame's cached PC value, found
+ in the next frame. Oh for the day when "struct frame_info"
+ is opaque and this hack on hack can just go away. */
+ fi->next->prev_pc.value = pc;
+ fi->next->prev_pc.p = 1;
if (frame_debug)
{
@@ -1730,38 +1734,6 @@ get_frame_type (struct frame_info *frame)
return frame->unwind->type;
}
-void
-deprecated_update_frame_pc_hack (struct frame_info *frame, CORE_ADDR pc)
-{
- if (frame_debug)
- fprintf_unfiltered (gdb_stdlog,
- "{ deprecated_update_frame_pc_hack (frame=%d,pc=0x%s) }\n",
- frame->level, paddr_nz (pc));
- /* NOTE: cagney/2003-03-11: Some architectures (e.g., Arm) are
- maintaining a locally allocated frame object. Since such frames
- are not in the frame chain, it isn't possible to assume that the
- frame has a next. Sigh. */
- if (frame->next != NULL)
- {
- /* While we're at it, update this frame's cached PC value, found
- in the next frame. Oh for the day when "struct frame_info"
- is opaque and this hack on hack can just go away. */
- frame->next->prev_pc.value = pc;
- frame->next->prev_pc.p = 1;
- }
-}
-
-void
-deprecated_update_frame_base_hack (struct frame_info *frame, CORE_ADDR base)
-{
- if (frame_debug)
- fprintf_unfiltered (gdb_stdlog,
- "{ deprecated_update_frame_base_hack (frame=%d,base=0x%s) }\n",
- frame->level, paddr_nz (base));
- /* See comment in "frame.h". */
- frame->this_id.value.stack_addr = base;
-}
-
/* Memory access methods. */
void
diff --git a/gdb/frame.h b/gdb/frame.h
index 2e1ee53..b25ab9c 100644
--- a/gdb/frame.h
+++ b/gdb/frame.h
@@ -660,22 +660,4 @@ extern struct frame_info *deprecated_safe_get_selected_frame (void);
extern struct frame_info *create_new_frame (CORE_ADDR base, CORE_ADDR pc);
-/* FIXME: cagney/2002-12-06: Has the PC in the current frame changed?
- "infrun.c", Thanks to gdbarch_decr_pc_after_break, can change the PC after
- the initial frame create. This puts things back in sync.
-
- This replaced: frame->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, was that initial guess at the frame's base as returned
- by the deleted 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.
-
- This replaced: frame->frame = ....; */
-extern void deprecated_update_frame_base_hack (struct frame_info *frame,
- CORE_ADDR base);
-
#endif /* !defined (FRAME_H) */
diff --git a/gdb/infrun.c b/gdb/infrun.c
index c11c71a..2b74beb 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -4224,17 +4224,6 @@ normal_stop (void)
previous_inferior_ptid = inferior_ptid;
}
- /* NOTE drow/2004-01-17: Is this still necessary? */
- /* Make sure that the current_frame's pc is correct. This
- is a correction for setting up the frame info before doing
- gdbarch_decr_pc_after_break */
- if (target_has_execution)
- /* FIXME: cagney/2002-12-06: Has the PC changed? Thanks to
- gdbarch_decr_pc_after_break, the program counter can change. Ask the
- frame code to check for this and sort out any resultant mess.
- gdbarch_decr_pc_after_break needs to just go away. */
- deprecated_update_frame_pc_hack (get_current_frame (), read_pc ());
-
if (!breakpoints_always_inserted_mode () && target_has_execution)
{
if (remove_breakpoints ())