From: Andreas Schwab Date: Thu, 29 Sep 2005 20:41:27 +0000 (+0000) Subject: PR threads/2015 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9022543867e667a862b84f08431123eb791fc634;p=binutils-gdb.git PR threads/2015 * infrun.c (adjust_pc_after_break): Don't use the state from a non-matching thread context. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9101e337a96..d59cd4ee539 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2005-09-29 Andreas Schwab + + PR threads/2015 + * infrun.c (adjust_pc_after_break): Don't use the state from a + non-matching thread context. + 2005-09-29 Daniel Jacobowitz * rs6000-tdep.c (rs6000_frame_cache): Handle misdetected frameless diff --git a/gdb/infrun.c b/gdb/infrun.c index b0ac3225553..4c2a78d2dbc 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -1200,8 +1200,12 @@ adjust_pc_after_break (struct execution_control_state *ecs) /* When using hardware single-step, a SIGTRAP is reported for both a completed single-step and a software breakpoint. Need to differentiate between the two as the latter needs - adjusting but the former does not. */ - if (currently_stepping (ecs)) + adjusting but the former does not. + + When the thread to be examined does not match the current thread + context we can't use currently_stepping, so assume no + single-stepping in this case. */ + if (ptid_equal (ecs->ptid, inferior_ptid) && currently_stepping (ecs)) { if (prev_pc == breakpoint_pc && software_breakpoint_inserted_here_p (breakpoint_pc))