From 9022543867e667a862b84f08431123eb791fc634 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Thu, 29 Sep 2005 20:41:27 +0000 Subject: PR threads/2015 * infrun.c (adjust_pc_after_break): Don't use the state from a non-matching thread context. --- gdb/ChangeLog | 6 ++++++ gdb/infrun.c | 8 ++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9101e33..d59cd4e 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 b0ac322..4c2a78d 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)) -- cgit v1.1