From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26218 invoked by alias); 21 May 2005 01:56:48 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 26047 invoked from network); 21 May 2005 01:56:43 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sourceware.org with SMTP; 21 May 2005 01:56:43 -0000 Received: from drow by nevyn.them.org with local (Exim 4.50) id 1DZJEG-0004cQ-45; Fri, 20 May 2005 21:56:40 -0400 Date: Sat, 21 May 2005 01:56:00 -0000 From: Daniel Jacobowitz To: Paul Schlie , Dan Shearer , gdb@sources.redhat.com Subject: Re: [discuss] Support for reverse-execution Message-ID: <20050521015640.GA17522@nevyn.them.org> Mail-Followup-To: Paul Schlie , Dan Shearer , gdb@sources.redhat.com References: <20050521005845.GA15974@nevyn.them.org> <20050521015245.GA17463@nevyn.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050521015245.GA17463@nevyn.them.org> User-Agent: Mutt/1.5.8i X-SW-Source: 2005-05/txt/msg00256.txt.bz2 On Fri, May 20, 2005 at 09:52:45PM -0400, Daniel Jacobowitz wrote: > Frank has contributed that sid would more readily support the sort of > snapshot-based reconstruction that you're talking about (thanks Frank). > I think that allowing the target to provide infrun with a view in which > "single step backwards" is possible and then implementing that under > the covers in the target stack would still be the way to go - but I > don't think that's a legitimate objection to supporting a smart > simulator which does it internally. BTW, a thought to consider - again, one which will only be interesting when there's a system to which it applies. What most of these single-stepping commands want to do, in the absence of watchpoints, is see the PC sequence over a timeline, choose a stopping state, and go to that state. For some simulator it may be substantially more efficient to just ask the target for a history of PC values for some number of cycles, all at once, and then tell it which one of those we're interested in. That would work for reverse-next, for example. I don't know the level of computation involved in these snapshots in Simics; perhaps an intelligent simulator, when told to go backwards, would reconstruct a series of "frames" all at once and cache them, so this is a non-issue. For some other simulator not yet available, perhaps it's not. -- Daniel Jacobowitz CodeSourcery, LLC