From 336060f3b723185fc45b2020ea842d8ed3973a0f Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Mon, 5 Dec 2011 18:49:49 +0000 Subject: [PATCH] 2011-12-05 Pedro Alves * linux-nat.c (resume_stopped_resumed_lwps): Call registers_changed. --- gdb/ChangeLog | 5 +++++ gdb/linux-nat.c | 14 +++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 5b8691cb42..f6a6ec9576 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2011-12-05 Pedro Alves + + * linux-nat.c (resume_stopped_resumed_lwps): Call + registers_changed. + 2011-12-05 Pedro Alves * breakpoint.c: Include record.h. diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c index d54f3031c3..19b4b57030 100644 --- a/gdb/linux-nat.c +++ b/gdb/linux-nat.c @@ -3921,24 +3921,28 @@ resume_stopped_resumed_lwps (struct lwp_info *lp, void *data) && lp->status == 0 && lp->waitstatus.kind == TARGET_WAITKIND_IGNORE) { + struct regcache *regcache = get_thread_regcache (lp->ptid); + struct gdbarch *gdbarch = get_regcache_arch (regcache); + CORE_ADDR pc = regcache_read_pc (regcache); + gdb_assert (is_executing (lp->ptid)); /* Don't bother if there's a breakpoint at PC that we'd hit immediately, and we're not waiting for this LWP. */ if (!ptid_match (lp->ptid, *wait_ptid_p)) { - struct regcache *regcache = get_thread_regcache (lp->ptid); - CORE_ADDR pc = regcache_read_pc (regcache); - if (breakpoint_inserted_here_p (get_regcache_aspace (regcache), pc)) return 0; } if (debug_linux_nat) fprintf_unfiltered (gdb_stdlog, - "RSRL: resuming stopped-resumed LWP %s\n", - target_pid_to_str (lp->ptid)); + "RSRL: resuming stopped-resumed LWP %s at %s: step=%d\n", + target_pid_to_str (lp->ptid), + paddress (gdbarch, pc), + lp->step); + registers_changed (); linux_ops->to_resume (linux_ops, pid_to_ptid (GET_LWP (lp->ptid)), lp->step, TARGET_SIGNAL_0); lp->stopped = 0; -- 2.34.1