diff options
author | Michael Snyder <msnyder@vmware.com> | 2008-10-06 23:06:30 +0000 |
---|---|---|
committer | Michael Snyder <msnyder@vmware.com> | 2008-10-06 23:06:30 +0000 |
commit | 95feef93a9e3c61708c88a88956ebffbf0603a7c (patch) | |
tree | 7260903a8cbdc28c85b6e280e32c6e27c1719411 | |
parent | 6fc1f9e0f49d192b2bd202f318bef29b1334d251 (diff) | |
download | binutils-gdb-95feef93a9e3c61708c88a88956ebffbf0603a7c.tar.gz |
2008-10-06 Michael Snyder <msnyder@vmware.com>
* infrun.c (handle_inferior_event): Formatting, spelling fix.
* infrun.c (handle_inferior_event): Add special case for
"next" in reverse.
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/infrun.c | 17 |
2 files changed, 16 insertions, 8 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index c90d9e813a3..f69dad95273 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2008-10-06 Michael Snyder <msnyder@vmware.com> + + * infrun.c (handle_inferior_event): Formatting, spelling fix. + + * infrun.c (handle_inferior_event): Add special case for + "next" in reverse. + 2008-10-04 Hui Zhu <teawater@gmail.com> Change from "to_prepare_to_store" to "to_store_registers". diff --git a/gdb/infrun.c b/gdb/infrun.c index 1f85212c102..b5c89bc452f 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -2884,8 +2884,8 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (!gdbarch_get_longjmp_target)\n"); keep_going (ecs); return; } - if (stop_pc == ecs->stop_func_start && - target_get_execution_direction () == EXEC_REVERSE) + if (stop_pc == ecs->stop_func_start + && target_get_execution_direction () == EXEC_REVERSE) { /* We are stepping over a function call in reverse, and just hit the step-resume breakpoint at the start @@ -3065,11 +3065,11 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (!gdbarch_get_longjmp_target)\n"); paddr_nz (ecs->event_thread->step_range_end)); /* When stepping backward, stop at beginning of line range - (unles it's the function entry point, in which case + (unless it's the function entry point, in which case keep going back to the call point). */ - if (stop_pc == ecs->event_thread->step_range_start && - stop_pc != ecs->stop_func_start && - target_get_execution_direction () == EXEC_REVERSE) + if (stop_pc == ecs->event_thread->step_range_start + && stop_pc != ecs->stop_func_start + && target_get_execution_direction () == EXEC_REVERSE) { ecs->event_thread->stop_step = 1; print_stop_reason (END_STEPPING_RANGE, 0); @@ -3138,8 +3138,9 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (!gdbarch_get_longjmp_target)\n"); previous frame must have valid frame IDs. */ if (!frame_id_eq (get_frame_id (get_current_frame ()), ecs->event_thread->step_frame_id) - && frame_id_eq (frame_unwind_id (get_current_frame ()), - ecs->event_thread->step_frame_id)) + && (frame_id_eq (frame_unwind_id (get_current_frame ()), + ecs->event_thread->step_frame_id) + || target_get_execution_direction () == EXEC_REVERSE)) { CORE_ADDR real_stop_pc; |