From: Pedro Alves Date: Thu, 26 Feb 2015 18:48:46 +0000 (+0000) Subject: gdbserver/Linux: Simplify stepping past program breakpoint a little X-Git-Tag: users/hjl/linux/release/2.25.51.0.2~2^2~36^2~71 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9beb7c4e1d403e1374096df3a16607132a8cfe84;p=thirdparty%2Fbinutils-gdb.git 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 * 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. --- diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index a130aab503c..6bb8950c3fe 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,10 @@ +2015-02-26 Pedro Alves + + * 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 * linux-low.c (check_stopped_by_breakpoint): Don't check if the diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index 1c66985a11f..c0d3b0d054b 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -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) {