diff options
author | Andreas Schwab <schwab@linux-m68k.org> | 2005-09-29 20:41:27 +0000 |
---|---|---|
committer | Andreas Schwab <schwab@linux-m68k.org> | 2005-09-29 20:41:27 +0000 |
commit | 9022543867e667a862b84f08431123eb791fc634 (patch) | |
tree | fa99ea0abb37a5a9923d2b6c63c7358a26fbc3cc | |
parent | e10b1c4cbbec60209f5eb0365481ab62b498abc0 (diff) | |
download | gdb-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/ChangeLog | 6 | ||||
-rw-r--r-- | 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 <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)) |