* frame.c (get_prev_frame_1): Call frame_unwind_find_by_frame
directly instead of get_frame_id.
This commit is contained in:
parent
e6fde20876
commit
0d254d6f30
2 changed files with 13 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2008-06-30 Daniel Jacobowitz <dan@codesourcery.com>
|
||||||
|
|
||||||
|
* frame.c (get_prev_frame_1): Call frame_unwind_find_by_frame
|
||||||
|
directly instead of get_frame_id.
|
||||||
|
|
||||||
2008-06-30 Luis Machado <luisgpm@br.ibm.com>
|
2008-06-30 Luis Machado <luisgpm@br.ibm.com>
|
||||||
|
|
||||||
* rs6000-tdep.c (ppc_displaced_step_fixup): New function.
|
* rs6000-tdep.c (ppc_displaced_step_fixup): New function.
|
||||||
|
|
11
gdb/frame.c
11
gdb/frame.c
|
@ -1180,9 +1180,13 @@ get_prev_frame_1 (struct frame_info *this_frame)
|
||||||
return this_frame->prev;
|
return this_frame->prev;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If the frame id hasn't been built yet, it must be done before
|
/* If the frame unwinder hasn't been selected yet, we must do so
|
||||||
setting a stop reason. */
|
before setting prev_p; otherwise the check for misbehaved
|
||||||
this_id = get_frame_id (this_frame);
|
sniffers will think that this frame's sniffer tried to unwind
|
||||||
|
further (see frame_cleanup_after_sniffer). */
|
||||||
|
if (this_frame->unwind == NULL)
|
||||||
|
this_frame->unwind
|
||||||
|
= frame_unwind_find_by_frame (this_frame, &this_frame->prologue_cache);
|
||||||
|
|
||||||
this_frame->prev_p = 1;
|
this_frame->prev_p = 1;
|
||||||
this_frame->stop_reason = UNWIND_NO_REASON;
|
this_frame->stop_reason = UNWIND_NO_REASON;
|
||||||
|
@ -1190,6 +1194,7 @@ get_prev_frame_1 (struct frame_info *this_frame)
|
||||||
/* Check that this frame's ID was valid. If it wasn't, don't try to
|
/* Check that this frame's ID was valid. If it wasn't, don't try to
|
||||||
unwind to the prev frame. Be careful to not apply this test to
|
unwind to the prev frame. Be careful to not apply this test to
|
||||||
the sentinel frame. */
|
the sentinel frame. */
|
||||||
|
this_id = get_frame_id (this_frame);
|
||||||
if (this_frame->level >= 0 && !frame_id_p (this_id))
|
if (this_frame->level >= 0 && !frame_id_p (this_id))
|
||||||
{
|
{
|
||||||
if (frame_debug)
|
if (frame_debug)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue