This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: [PATCH v9 29/29] record-btrace: add (reverse-)stepping support


> -----Original Message-----
> From: Metzger, Markus T
> Sent: Friday, December 20, 2013 3:37 PM
> To: Pedro Alves


> > This really shouldn't be necessary, given target_resume does
> > it for you.  If you still needed, you're papering over some
> > problem.
> 
> If we start replaying in to_wait, we'll call get_current_frame
> to fix up some stepping related frames.  This will be done on
> the current PC.
> 
> When we step later on in record_btrace_step_thread, we change
> the replay position but not the PC.
> 
> I guess it will be more clear when I move this into
> record_btrace_step_thread and change the comment.

I moved it to record_btrace_start_replaying:

@@ -1406,15 +1405,15 @@ record_btrace_start_replaying (struct thread_info *tp)
   /* Restore the previous execution state.  */
   set_executing (tp->ptid, executing);
 
+  /* Invalidate registers again.  If this is called on the to_wait path,
+     we expect registers still invalid from to_resume.  */
+  registers_changed_ptid (tp->ptid);
+
   if (except.reason < 0)
     {
       xfree (btinfo->replay);
       btinfo->replay = NULL;
 
-      /* Avoid stale frames based on branch trace unwinding.  */
-      registers_changed_ptid (tp->ptid);
-      get_current_frame ();
-
       throw_exception (except);
     }

Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas Lusk
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]