aboutsummaryrefslogtreecommitdiff
path: root/gdb/infrun.c
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2005-09-29 20:41:27 +0000
committerAndreas Schwab <schwab@linux-m68k.org>2005-09-29 20:41:27 +0000
commit9022543867e667a862b84f08431123eb791fc634 (patch)
treefa99ea0abb37a5a9923d2b6c63c7358a26fbc3cc /gdb/infrun.c
parente10b1c4cbbec60209f5eb0365481ab62b498abc0 (diff)
downloadgdb-9022543867e667a862b84f08431123eb791fc634.zip
gdb-9022543867e667a862b84f08431123eb791fc634.tar.gz
gdb-9022543867e667a862b84f08431123eb791fc634.tar.bz2
PR threads/2015
* infrun.c (adjust_pc_after_break): Don't use the state from a non-matching thread context.
Diffstat (limited to 'gdb/infrun.c')
-rw-r--r--gdb/infrun.c8
1 files changed, 6 insertions, 2 deletions
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))