Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Jim Blandy <jimb@codesourcery.com>
To: gdb-patches@sourceware.org
Cc: gdb@sourceware.org
Subject: Re: [rfc / remote protocol] Remote shared library events
Date: Fri, 18 May 2007 16:49:00 -0000	[thread overview]
Message-ID: <m38xbm9iwy.fsf@codesourcery.com> (raw)
In-Reply-To: <20070518160952.GA27839@caradoc.them.org> (Daniel Jacobowitz's message of "Fri, 18 May 2007 12:09:52 -0400")


Daniel Jacobowitz <drow@false.org> writes:
> On Fri, May 18, 2007 at 09:04:49AM -0700, Jim Blandy wrote:
>> Sorry --- of course the @var{r} associated with the dllstop isn't
>> meaningless.  Regarding the other pairs, I didn't realize that one
>> wanted expedited registers for DLL events; would we actually use them?
>
> Sure.  For instance, if stop-on-solib-events was set, we would stop;
> or if we were single-stepping multiple instructions we'd (I hope, I
> haven't tested this) keep stepping.

Okay, this makes complete sense.

Humbly, I still don't think it's a great idea to take the trap packet
and give it new roles like this.  A DLL change is a new kind of event.

What would you say to this:

*** gdb.texinfo	16 May 2007 14:16:32 -0000	1.405
--- gdb.texinfo	18 May 2007 16:44:40 -0000
***************
*** 23178,23190 ****
  @item
  If @var{n} is @samp{watch}, @samp{rwatch}, or @samp{awatch}, then the
  packet indicates a watchpoint hit, and @var{r} is the data address, in
! hex.
  @item
  Otherwise, @value{GDBN} should ignore this @samp{@var{n}:@var{r}} pair
  and go on to the next; this allows us to extend the protocol in the
  future.
  @end enumerate
  
  @item W @var{AA}
  The process exited, and @var{AA} is the exit status.  This is only
  applicable to certain targets.
--- 23182,23219 ----
  @item
  If @var{n} is @samp{watch}, @samp{rwatch}, or @samp{awatch}, then the
  packet indicates a watchpoint hit, and @var{r} is the data address, in
! hex.  @var{aa} should be @samp{05}, the trap signal.
! 
  @item
  Otherwise, @value{GDBN} should ignore this @samp{@var{n}:@var{r}} pair
  and go on to the next; this allows us to extend the protocol in the
  future.
  @end enumerate
  
+ @item Lload @var{lib};@var{regs}
+ A dynamically linked library has been loaded.  The @var{lib} parameter
+ describes the new library, in the same format used by a
+ @samp{qfDllInfo} reply (@pxref{qfDllInfo}).  However, @var{lib} may
+ further end in @samp{,nop} if this library was already mapped, e.g.@:
+ by an earlier call to @code{LoadLibrary}.  The @var{regs} parameter is
+ a list of important register values, encoded as for a @samp{T} packet.
+ 
+ @item Lunload @var{lib};@var{regs}
+ A dynamically linked library has been unloaded.  the @var{lib}
+ parameter describes the unloaded library, in the same format used by a
+ @samp{qfDllInfo} reply.  The name, the segment offsets, or both may be
+ used to specify which DLL to unload, e.g.@:
+ @samp{unload:Name=@var{hexname}} or
+ @samp{unload:Name=@var{hexname},TextSeg=@var{textaddr}}.  The entry
+ may end in @samp{,nop} if this library is still mapped, e.g.@: by
+ another open handle.  The @var{regs} parameter is a list of important
+ register values, encoded as for a @samp{T} packet.
+ 
+ @item Ldll
+ The set of currently loaded dynamically linked libraries has changed.
+ @value{GDBN} should use @samp{qfDllInfo} to fetch a new list of loaded
+ libraries.
+ 
  @item W @var{AA}
  The process exited, and @var{AA} is the exit status.  This is only
  applicable to certain targets.


      reply	other threads:[~2007-05-18 16:49 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-09 20:16 Daniel Jacobowitz
2007-05-10  3:18 ` Eli Zaretskii
2007-05-11 17:24   ` Daniel Jacobowitz
2007-05-11 17:39     ` Eli Zaretskii
2007-05-10 21:35 ` Mark Kettenis
2007-05-11  3:35   ` Daniel Jacobowitz
2007-05-15 13:28   ` Daniel Jacobowitz
2007-05-21 12:00     ` Daniel Jacobowitz
2007-07-02 21:37     ` Daniel Jacobowitz
2007-05-11 18:02 ` Kevin Buettner
2007-05-11 18:21   ` Daniel Jacobowitz
2007-05-11 23:31 ` Pedro Alves
2007-05-16 22:59 ` Jim Blandy
2007-05-18  0:27   ` Daniel Jacobowitz
2007-05-18 16:04     ` Jim Blandy
2007-05-18 16:10       ` Daniel Jacobowitz
2007-05-18 16:49         ` Jim Blandy [this message]

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=m38xbm9iwy.fsf@codesourcery.com \
    --to=jimb@codesourcery.com \
    --cc=gdb-patches@sourceware.org \
    --cc=gdb@sourceware.org \
    /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