gdbserver/Linux: Simplify stepping past program breakpoint a little

.decr_pc_after_break is never higher than .breakpoint_len, so use
.breakpoint_len directly.  Based on idea from Yao here:
https://sourceware.org/ml/gdb-patches/2015-02/msg00689.html

gdb/gdbserver/ChangeLog:
2015-02-26  Pedro Alves  <palves@redhat.com>

	* linux-low.c (linux_wait_1): When incrementing the PC past a
	program breakpoint always use the_low_target.breakpoint_len as
	increment, rather than the maximum between that and
	the_low_target.decr_pc_after_break.
This commit is contained in:
Pedro Alves 2015-02-26 18:48:46 +00:00
parent 77b64a49e2
commit 9beb7c4e1d
2 changed files with 8 additions and 6 deletions

View File

@ -1,3 +1,10 @@
2015-02-26 Pedro Alves <palves@redhat.com>
* linux-low.c (linux_wait_1): When incrementing the PC past a
program breakpoint always use the_low_target.breakpoint_len as
increment, rather than the maximum between that and
the_low_target.decr_pc_after_break.
2015-02-23 Pedro Alves <palves@redhat.com>
* linux-low.c (check_stopped_by_breakpoint): Don't check if the

View File

@ -2555,12 +2555,7 @@ linux_wait_1 (ptid_t ptid,
if (!ptid_equal (step_over_bkpt, null_ptid)
&& event_child->stop_reason == LWP_STOPPED_BY_SW_BREAKPOINT)
{
unsigned int increment_pc;
if (the_low_target.breakpoint_len > the_low_target.decr_pc_after_break)
increment_pc = the_low_target.breakpoint_len;
else
increment_pc = the_low_target.decr_pc_after_break;
unsigned int increment_pc = the_low_target.breakpoint_len;
if (debug_threads)
{