Re: [discuss] Support for reverse-execution

Frank Ch. Eigler
2005-05-21T00:05:34Z

Daniel Jacobowitz <drow@false.org> writes:

> On Tue, May 17, 2005 at 03:16:49AM +0930, Dan Shearer wrote:
> > Around 1999 Cygnus' GPL SID simulator could execute backwards.
> > Development on reversibility didn't continue so I'm told because it was
> > seen as "party tricks". [...]
>
> Does anyone else know the history of this - was any of this code in the
> version of sid in the src repository? Is any of it still there? [...]

sid provides the same sort of state save/restore facility that any
moderately sophisticated but not brilliant target would be able to,
like ordinary simulators and even UNIX kernels with process checkpoint
support.

sid does not perform single-stepping backward as a primitive, since
that is very complex in the general case (thus requiring a "brilliant"
particular proprietary simulator).

The point of the other simulation gentleman on this thread is that by
using state snapshots as the basic target-side primitive, one can
implement backward stepping on the gdb side in a way that will work
even with non-brilliant targets. (By the way, this does not require
actual bulk transmission of the state snapshots to gdb, just some sort
of management protocol.)

- FChE