* infcmd.c (step_1, step_once): Look up the stepping range based

on the current frame's PC, not on stop_pc.
This commit is contained in:
Pedro Alves 2008-12-05 22:38:10 +00:00
parent 4674ecfcf4
commit 1641cfccdd
2 changed files with 15 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2008-12-05 Pedro Alves <pedro@codesourcery.com>
* infcmd.c (step_1, step_once): Look up the stepping range based
on the current frame's PC, not on stop_pc.
2008-12-05 Jan Kratochvil <jan.kratochvil@redhat.com>
Fix compilation on 32-bit host configurations.

View File

@ -812,12 +812,15 @@ step_1 (int skip_subroutines, int single_inst, char *count_string)
if (!single_inst)
{
find_pc_line_pc_range (stop_pc,
CORE_ADDR pc;
pc = get_frame_pc (frame);
find_pc_line_pc_range (pc,
&tp->step_range_start, &tp->step_range_end);
if (tp->step_range_end == 0)
{
char *name;
if (find_pc_partial_function (stop_pc, &name,
if (find_pc_partial_function (pc, &name,
&tp->step_range_start,
&tp->step_range_end) == 0)
error (_("Cannot find bounds of current function"));
@ -932,7 +935,10 @@ step_once (int skip_subroutines, int single_inst, int count, int thread)
if (!single_inst)
{
find_pc_line_pc_range (stop_pc,
CORE_ADDR pc;
pc = get_frame_pc (frame);
find_pc_line_pc_range (pc,
&tp->step_range_start, &tp->step_range_end);
/* If we have no line info, switch to stepi mode. */
@ -943,7 +949,7 @@ step_once (int skip_subroutines, int single_inst, int count, int thread)
else if (tp->step_range_end == 0)
{
char *name;
if (find_pc_partial_function (stop_pc, &name,
if (find_pc_partial_function (pc, &name,
&tp->step_range_start,
&tp->step_range_end) == 0)
error (_("Cannot find bounds of current function"));