From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26269 invoked by alias); 29 Nov 2013 14:00:56 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 26258 invoked by uid 89); 29 Nov 2013 14:00:55 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL,BAYES_50,RDNS_NONE,SPF_PASS autolearn=no version=3.3.2 X-HELO: mga09.intel.com Received: from Unknown (HELO mga09.intel.com) (134.134.136.24) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 29 Nov 2013 14:00:54 +0000 Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga102.jf.intel.com with ESMTP; 29 Nov 2013 05:56:48 -0800 X-ExtLoop1: 1 Received: from irsmsx103.ger.corp.intel.com ([163.33.3.157]) by fmsmga001.fm.intel.com with ESMTP; 29 Nov 2013 06:00:25 -0800 Received: from irsmsx104.ger.corp.intel.com ([169.254.5.135]) by IRSMSX103.ger.corp.intel.com ([169.254.3.66]) with mapi id 14.03.0123.003; Fri, 29 Nov 2013 14:00:23 +0000 From: "Metzger, Markus T" To: Jan Kratochvil CC: "gdb-patches@sourceware.org" Subject: RE: [+rfc] Re: [patch v6 00/21] record-btrace: reverse Date: Fri, 29 Nov 2013 14:27:00 -0000 Message-ID: References: <1379676639-31802-1-git-send-email-markus.t.metzger@intel.com> <20131006195913.GA2518@host2.jankratochvil.net> <20131127185727.GA18038@host2.jankratochvil.net> <20131128211623.GA16695@host2.jankratochvil.net> In-Reply-To: <20131128211623.GA16695@host2.jankratochvil.net> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2013-11/txt/msg00905.txt.bz2 > -----Original Message----- > From: Jan Kratochvil [mailto:jan.kratochvil@redhat.com] > Sent: Thursday, November 28, 2013 10:16 PM Hello Jan, > Rather than get_current_frame_nocheck I find safer to just temporarily > switch > off the executing flag. There are many other checks which make sense > which > were omitted. >=20 > Calling set_step_info seems needlessly intrusive to me, there is no need = to > re-set tp->current_symtab + tp->current_line. Despite in the moment of > record_btrace_start_replaying() I see step_frame_id should be the current > frame id it does not have to be. Such as when we reverse-continue, it wi= ll be > null_frame_id. I implemented that based on your patches. It works fine, no regressions. Thanks for helping make that less hacky. > I still believe inferior should resume + wait if it changes its PC. Here I still have problems with multi-threaded inferiors. When I switch to a different thread and then "record goto", I get a "No more reverse-executi= on history" error followed by a "Record goto failed" error. I believe that "record goto" is resuming the wrong thread after I switch aw= ay from the eventing thread. Curiously, this does not seem to be a problem if I do not set tp->control.exception_resume_breapoint. This needs some more debugging. On a related topic, when we implement "record goto" via resume/wait, we will trigger breakpoints at the target location. This might or might not be des= ired. We do not trigger breakpoints on our way to the record goto target location. Again, this might or might not be desired. Record full's "record goto" command does not trigger breakpoints; neither at the target location nor on its way. In fact, record full does not implement "record goto" via resume/wait. Instead, it single-steps through its execut= ion history in a simple do-while loop, similar to what I am doing in record btr= ace. Regards, Markus. 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