Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Michael Snyder <msnyder@redhat.com>
To: Daniel Jacobowitz <drow@false.org>
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 19:22:00 -0000	[thread overview]
Message-ID: <4447DF7D.6070506@redhat.com> (raw)
In-Reply-To: <20060420134343.GC11710@nevyn.them.org>

Daniel Jacobowitz wrote:
> 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.

Yes, I think I remarked on the need for that in comments.

> 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? 

No problem -- it's not actually shipping, or even promised.
This has been a rare, redhat-funded pure research project.   ;-)

Yes, I appreciate how lucky I am.  Thank you, oh employer mine.
[not that we don't hope to make money from it eventually...]

> 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.

Hmmmmm... ok, your guess is correct.

I propose a deal -- I'll try it, and if it does fail messily,
I will fix it.  If it doesn't, will you let me check it in
with the expectation of future enhancement?  I feel that for
a major new functionality, useability rather than completeness
should be the mark.

It's not like we're not going to add to what's been
implemented so far.

> 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?

I think in previous discussion, we have recognized that this is a
hard problem, and I have simply deferred addressing it.  I don't
even claim to know if it *can* be addressed.  I'd like to say,
we can now use this feature on the non-trivial subset of non-
threaded programs, and put threaded programs down as a hoped-
for future enhancement.


> 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. 

Well, yes, I thought about that -- but in fact, AFAICT there is
*no* documentation for error codes, and I didn't feel like starting
it.  Yes, I think we need some, but it's probably worth having a
discussion of how we would like to do it.

And, self-interest not withstanding, I don't think there's a good
reason for holding up this patch for lack of something that is
lacking throughout.

 > I've only skimmed the patch; are there others?

None that I'm deliberately withholding.   ;-)
I'm counting on you reviewers to help find any that I've overlooked.

Thanks for your review and feedback.




  reply	other threads:[~2006-04-20 19:22 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
2006-04-20 19:22               ` Michael Snyder [this message]
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=4447DF7D.6070506@redhat.com \
    --to=msnyder@redhat.com \
    --cc=drow@false.org \
    --cc=eliz@gnu.org \
    --cc=gdb-patches@sources.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