2009-06-18 Hui Zhu <teawater@gmail.com>

Michael Snyder  <msnyder@vmware.com>

	* infrun.c (handle_inferior_event): Improve reverse stepping
	through function epilogue.
This commit is contained in:
Michael Snyder 2009-06-18 23:41:27 +00:00
parent 20764115b0
commit 31410e843b
2 changed files with 16 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2009-06-18 Hui Zhu <teawater@gmail.com>
Michael Snyder <msnyder@vmware.com>
* infrun.c (handle_inferior_event): Improve reverse stepping
through function epilogue.
2009-06-18 Paul Pluzhnikov <ppluzhnikov@google.com>
* dwarf2-frame.c (struct comp_unit): Use bfd_size_type for

View File

@ -3630,9 +3630,17 @@ infrun: not switching back to stepped thread, it has vanished\n");
Note that step_range_end is the address of the first instruction
beyond the step range, and NOT the address of the last instruction
within it! */
within it!
Note also that during reverse execution, we may be stepping
through a function epilogue and therefore must detect when
the current-frame changes in the middle of a line. */
if (stop_pc >= ecs->event_thread->step_range_start
&& stop_pc < ecs->event_thread->step_range_end)
&& stop_pc < ecs->event_thread->step_range_end
&& (execution_direction != EXEC_REVERSE
|| frame_id_eq (get_frame_id (get_current_frame ()),
ecs->event_thread->step_frame_id)))
{
if (debug_infrun)
fprintf_unfiltered (gdb_stdlog, "infrun: stepping inside range [0x%s-0x%s]\n",