diff options
author | Pedro Alves <palves@redhat.com> | 2009-01-24 19:17:24 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2009-01-24 19:17:24 +0000 |
commit | 0516318b5d7203ff02f09e0d51ca567c5fba7ece (patch) | |
tree | 5f12d2ff6597e565778d55213af34e6ae6df74a6 | |
parent | 9d5f04acb03c2e6591949f1748d0ce52c6eca580 (diff) | |
download | gdb-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/ChangeLog | 10 | ||||
-rw-r--r-- | gdb/frame.c | 40 | ||||
-rw-r--r-- | gdb/frame.h | 18 | ||||
-rw-r--r-- | gdb/infrun.c | 11 |
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 ()) |