aboutsummaryrefslogtreecommitdiff
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
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.
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/infrun.c8
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 <schwab@suse.de>
+
+ 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 <dan@codesourcery.com>
* 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))