Re: Simics & reverse execution

Greg Law
2009-08-28T11:04:54Z

Hi,

Michael Snyder wrote:
> [...]
>
> I think we just need to come up with a sufficiently arbitrary
> way to represent both a "point in time" and a "bookmark", so
> that they can be passed back and forth between gdb and the
> remote target without gdb needing to know what they actually
> represent (eg. a timestamp or a branch count). Only the target
> needs to know how to interpret them.
>
> Maybe an 8 byte integer would be sufficient? What do you think?

As you know, we're currently putting together a remote target so that
UndoDB can take advantage of gdb's new reverse debug support. (We hope
to have something ready quite soon.)

Anyway, 8-bytes is not a sufficiently general representation of time for
UndoDB. The trouble is, we don't keep a linear cycle count or such like.
We could in theory, but it would slow us down. So instead we
represent time as a structure.

So, I think it would be better if the abstract time representation could
be an opaque "bag of bits" of arbitrary size.

We'd be happy to contribute some patches along these lines, although I
don't think we'd be able to do anything in time for the proposed gdb 7
branch.

What do people think?

Cheers,

Greg

--
Greg Law, Undo Software http://undo-software.com/