Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <drow@false.org>
To: Michael Snyder <msnyder@redhat.com>
Cc: Eli Zaretskii <eliz@gnu.org>, gdb-patches@sources.redhat.com
Subject: Re: [RFA] Reverse debugging, part 1/3: target interface
Date: Thu, 20 Apr 2006 13:43:00 -0000	[thread overview]
Message-ID: <20060420134343.GC11710@nevyn.them.org> (raw)
In-Reply-To: <444680C3.1010007@redhat.com>

On Wed, Apr 19, 2006 at 11:26:11AM -0700, Michael Snyder wrote:
> +@item bc
> +@cindex @samp{bc} packet
> +Continue execution in reverse (if capable).  
> +@xref{Reverse Execution, ,Running programs backward}.
> +
> +Reply:
> +@xref{Stop Reply Packets}, for the reply specifications.
> +
> +@item bs
> +@cindex @samp{bs} packet
> +Single step in reverse (if capable).  
> +@xref{Reverse Execution, ,Running programs backward}.
> +
> +Reply:
> +@xref{Stop Reply Packets}, for the reply specifications.
> +

You designed the target interface so that it could return EXEC_ERROR,
"I don't support reverse execution".  But here you've got only bc and
bs; you've got no way to probe the remote target for reverse execution
support.

I realize you've got at least one already shipping stub for this; can
we still fix it, or should we assume that there will be at least one
target where the only way to find out is to try?  This seems to be
one of the stray FIXMEs in this code which really ought to be fixed
before we merge it:

+   /* FIXME: check target for capability.  */

I'm guessing you haven't tried this with a remote target that didn't
support it.  It looks like it would fail messily.


Are there other hard cases that should be discussed in the remote
protocol documentation, or handled by the protocol?  The first one that
comes to mind is "what do we do with threads" - is it ever going to be
relevant to do this in a multi-threaded system, and if so, are we going
to reverse all threads at once?


Oh, and refering to Stop Reply Packets is not complete for the reply;
that doesn't cover error codes.  For instance, you have one error code
designated to mean "no more history".  That should be in the
documentation, please.  I've only skimmed the patch; are there others?



-- 
Daniel Jacobowitz
CodeSourcery


  parent reply	other threads:[~2006-04-20 13:43 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <442DAA70.5070203@redhat.com>
2006-04-01 12:23 ` Eli Zaretskii
2006-04-17 23:37 ` Michael Snyder
2006-04-18 12:58   ` Daniel Jacobowitz
2006-04-18 15:24     ` Daniel Jacobowitz
2006-04-18 22:08       ` Michael Snyder
2006-04-19  8:48         ` Eli Zaretskii
2006-04-19 18:26           ` Michael Snyder
2006-04-20  9:18             ` Eli Zaretskii
2006-04-20 13:43             ` Daniel Jacobowitz [this message]
2006-04-20 19:22               ` Michael Snyder
2006-04-20 19:50                 ` Daniel Jacobowitz
2006-04-20 23:53                   ` Michael Snyder
2006-04-24 20:55                     ` Daniel Jacobowitz
2006-04-18 18:59     ` Michael Snyder
2006-04-20 13:58 ` Daniel Jacobowitz
2006-04-20 19:42   ` Michael Snyder
2006-04-20 19:58     ` Daniel Jacobowitz
2006-04-01 16:39 Michael Snyder

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060420134343.GC11710@nevyn.them.org \
    --to=drow@false.org \
    --cc=eliz@gnu.org \
    --cc=gdb-patches@sources.redhat.com \
    --cc=msnyder@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox