From: Don Breazeal <donb@codesourcery.com>
To: <gdb-patches@sourceware.org>
Subject: [PATCH v7 7/7] Extended-remote follow fork documentation
Date: Fri, 10 Apr 2015 17:11:00 -0000 [thread overview]
Message-ID: <1428685786-18094-8-git-send-email-donb@codesourcery.com> (raw)
In-Reply-To: <1428685786-18094-1-git-send-email-donb@codesourcery.com>
This patch contains the accumulated documentation changes for the
rest of the extended-remote follow fork patchset.
[Eli, you have reviewed parts of this before, but there are some new
bits as well. Sorry for all the iterations.]
Thanks
--Don
gdb/
2015-04-08 Don Breazeal <donb@codesourcery.com>
* NEWS: Announce fork support in the RSP and support
for fork debugging in extended mode.
gdb/doc/
2015-04-08 Don Breazeal <donb@codesourcery.com>
* gdb.texinfo (Forks): Note that fork debugging is
supported in extended mode.
(Remote Configuration): Add fork event features to table
of packet settings.
(Stop Reply Packets): Add fork events to list of stop reasons.
(General Query Packets): Add fork events to tables of
'gdbfeatures' and 'stub features' supported in the qSupported
packet, as well as to the list containing stub feature
details.
---
gdb/NEWS | 24 ++++++++++++++++
gdb/doc/gdb.texinfo | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 103 insertions(+)
diff --git a/gdb/NEWS b/gdb/NEWS
index 884c381..730b965 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -101,6 +101,30 @@ hwbreak stop reason
vFile:fstat:
Return information about files on the remote system.
+fork stop reason
+ Indicates that a fork system call was executed.
+
+vfork stop reason
+ Indicates that a vfork system call was executed.
+
+vforkdone stop reason
+ Indicates that a vfork child of the specified process has executed
+ an exec or exit, allowing the vfork parent to resume execution.
+
+fork-events and vfork-events features in qSupported
+ The qSupported packet allows GDB to request support for fork and
+ vfork events using new 'gdbfeatures' fork-events and vfork-events,
+ and the qSupported response can contain the corresponding
+ 'stubfeatures'. Set and show commands can be used to display
+ whether these features are enabled.
+
+* Extended-remote fork events
+
+ ** GDB now has support for fork events on extended-remote Linux
+ targets. For targets with Linux kernels 2.5.60 and later, this
+ enables follow-fork-mode and detach-on-fork for both fork and
+ vfork, as well as fork and vfork catchpoints.
+
* The info record command now shows the recording format and the
branch tracing configuration for the current thread when using
the btrace record target.
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index d794893..4ecbd11 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -3142,6 +3142,9 @@ create additional processes using the @code{fork} or @code{vfork} functions.
Currently, the only platforms with this feature are HP-UX (11.x and later
only?) and @sc{gnu}/Linux (kernel version 2.5.60 and later).
+The fork debugging commands are supported in both native mode and when
+connected to @code{gdbserver} using @kbd{target extended-remote}.
+
By default, when a program forks, @value{GDBN} will continue to debug
the parent process and the child process will run unimpeded.
@@ -19848,6 +19851,14 @@ are:
@tab @code{hwbreak stop reason}
@tab @code{hbreak}
+@item @code{fork-event-feature}
+@tab @code{fork stop reason}
+@tab @code{fork}
+
+@item @code{vfork-event-feature}
+@tab @code{vfork stop reason}
+@tab @code{vfork}
+
@end multitable
@node Remote Stub
@@ -35286,6 +35297,45 @@ The @var{r} part must be left empty.
The same remarks about @samp{qSupported} and non-stop mode above
apply.
+
+@cindex fork events, remote reply
+@item fork
+The packet indicates that @code{fork} was called, and @var{r}
+is the ptid of the new child process. This packet is only
+applicable to targets that support fork events.
+
+This packet should not be sent by default; older @value{GDBN} versions
+did not support it. @value{GDBN} requests it, by supplying an
+appropriate @samp{qSupported} feature (@pxref{qSupported}). The
+remote stub must also supply the appropriate @samp{qSupported} feature
+indicating support.
+
+@cindex vfork events, remote reply
+@item vfork
+The packet indicates that @code{vfork} was called, and @var{r}
+is the ptid of the new child process. This packet is only
+applicable to targets that support vfork events.
+
+This packet should not be sent by default; older @value{GDBN} versions
+did not support it. @value{GDBN} requests it, by supplying an
+appropriate @samp{qSupported} feature (@pxref{qSupported}). The
+remote stub must also supply the appropriate @samp{qSupported} feature
+indicating support.
+
+@cindex vforkdone events, remote reply
+@item vforkdone
+The packet indicates that a child process created by a vfork
+has either called @code{exec} or terminated, so that the
+address spaces of the parent and child process are no longer
+shared. The @var{r} part is ignored. This packet is only
+applicable to targets that support vforkdone events.
+
+This packet should not be sent by default; older @value{GDBN} versions
+did not support it. @value{GDBN} requests it, by supplying an
+appropriate @samp{qSupported} feature (@pxref{qSupported}). The
+remote stub must also supply the appropriate @samp{qSupported} feature
+indicating support.
+
@end table
@item W @var{AA}
@@ -35878,6 +35928,18 @@ reason in stop replies. @xref{swbreak stop reason}, for details.
@item hwbreak
This feature indicates whether @value{GDBN} supports the hwbreak stop
reason in stop replies. @xref{swbreak stop reason}, for details.
+
+@item fork-events
+This feature indicates whether @value{GDBN} supports fork event
+extensions to the remote protocol. @value{GDBN} does not use such
+extensions unless the stub also reports that it supports them by
+including @samp{fork-events+} in its @samp{qSupported} reply.
+
+@item vfork-events
+This feature indicates whether @value{GDBN} supports vfork event
+extensions to the remote protocol. @value{GDBN} does not use such
+extensions unless the stub also reports that it supports them by
+including @samp{vfork-events+} in its @samp{qSupported} reply.
@end table
Stubs should ignore any unknown values for
@@ -36116,6 +36178,16 @@ These are the currently defined stub features and their properties:
@tab @samp{-}
@tab No
+@item @samp{fork-events}
+@tab No
+@tab @samp{-}
+@tab No
+
+@item @samp{vfork-events}
+@tab No
+@tab @samp{-}
+@tab No
+
@end multitable
These are the currently defined stub features, in more detail:
@@ -36304,6 +36376,13 @@ breakpoints.
The remote stub reports the @samp{hwbreak} stop reason for hardware
breakpoints.
+@item fork-events
+The remote stub reports the @samp{fork} stop reason for fork events.
+
+@item vfork-events
+The remote stub reports the @samp{vfork} stop reason for vfork events
+and vforkdone events.
+
@end table
@item qSymbol::
--
1.8.1.1
next prev parent reply other threads:[~2015-04-10 17:11 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-10 17:09 [PATCH v7 0/7] Remote fork events Don Breazeal
2015-04-10 17:10 ` [PATCH v7 2/7] Clone remote breakpoints Don Breazeal
2015-04-10 17:10 ` [PATCH v7 1/7] Identify remote fork event support Don Breazeal
2015-04-15 15:37 ` Pedro Alves
2015-04-10 17:10 ` [PATCH v7 3/7] Extended-remote Linux follow fork Don Breazeal
2015-04-15 15:38 ` Pedro Alves
2015-04-10 17:10 ` [PATCH v7 4/7] Arch-specific remote " Don Breazeal
2015-04-10 17:11 ` [PATCH v7 5/7] Remote follow vfork Don Breazeal
2015-04-15 15:38 ` Pedro Alves
2015-04-15 15:41 ` Pedro Alves
2015-04-10 17:11 ` [PATCH v7 6/7] Remote fork catch Don Breazeal
2015-04-15 15:39 ` Pedro Alves
2015-04-10 17:11 ` Don Breazeal [this message]
2015-04-10 17:56 ` [PATCH v7 7/7] Extended-remote follow fork documentation Eli Zaretskii
2015-04-10 18:15 ` Breazeal, Don
2015-04-10 18:29 ` Eli Zaretskii
2015-04-10 20:43 ` Don Breazeal
2015-04-15 15:47 ` Pedro Alves
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=1428685786-18094-8-git-send-email-donb@codesourcery.com \
--to=donb@codesourcery.com \
--cc=gdb-patches@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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).