OSDN Git Service

2011-12-05 Pedro Alves <pedro@codesourcery.com>
authorpalves <palves>
Mon, 5 Dec 2011 18:49:48 +0000 (18:49 +0000)
committerpalves <palves>
Mon, 5 Dec 2011 18:49:48 +0000 (18:49 +0000)
* linux-nat.c (resume_stopped_resumed_lwps): Call
registers_changed.

gdb/ChangeLog
gdb/linux-nat.c

index 5b8691c..f6a6ec9 100644 (file)
@@ -1,5 +1,10 @@
 2011-12-05  Pedro Alves  <pedro@codesourcery.com>
 
+       * linux-nat.c (resume_stopped_resumed_lwps): Call
+       registers_changed.
+
+2011-12-05  Pedro Alves  <pedro@codesourcery.com>
+
        * breakpoint.c: Include record.h.
        (breakpoints_always_inserted_mode): Return false when the record
        target is in use.
index d54f303..19b4b57 100644 (file)
@@ -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;