]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Merge from head:
authorPedro Alves <palves@redhat.com>
Tue, 16 Dec 2008 22:36:44 +0000 (22:36 +0000)
committerPedro Alves <palves@redhat.com>
Tue, 16 Dec 2008 22:36:44 +0000 (22:36 +0000)
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.

gdb/ChangeLog.mp [new file with mode: 0644]
gdb/infcmd.c

diff --git a/gdb/ChangeLog.mp b/gdb/ChangeLog.mp
new file mode 100644 (file)
index 0000000..d7cd53a
--- /dev/null
@@ -0,0 +1,7 @@
+2008-12-16  Pedro Alves  <pedro@codesourcery.com>
+
+       Merge from head:
+       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.
index 5d490165bd13f4dd2d2d678034972ca7e11d98ca..da1d39f30b57554b9022cdd6024a3adbc23cf1da 100644 (file)
@@ -929,12 +929,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"));
@@ -1051,7 +1054,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.  */
@@ -1062,7 +1068,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"));