From b459a59be3a9b92a27b71790f5e3f3be38595cb3 Mon Sep 17 00:00:00 2001 From: Don Breazeal Date: Fri, 11 Sep 2015 11:06:03 -0700 Subject: [PATCH] Extended-remote exec documentation This patch adds documentation of support for exec events on extended-remote Linux targets. gdb/ChangeLog: * NEWS: Announce new remote packets for the exec-events feature and the exec-events feature and associated commands. gdb/doc/ChangeLog: * gdb.texinfo (Remote Configuration): Add exec event feature to table of packet settings. (Stop Reply Packets): Add exec events to the list of stop reasons. (General Query Packets): Add exec events to tables of 'gdbfeatures' and 'stub features' supported in the qSupported packet, as well as to the list containing stub feature details. --- gdb/ChangeLog | 5 +++++ gdb/NEWS | 21 +++++++++++++++++++++ gdb/doc/ChangeLog | 11 +++++++++++ gdb/doc/gdb.texinfo | 30 ++++++++++++++++++++++++++++++ 4 files changed, 67 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 0110528..3cb3427 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2015-09-11 Don Breazeal + * NEWS: Announce new remote packets for the exec-events + feature and the exec-events feature and associated commands. + +2015-09-11 Don Breazeal + * remote.c (remote_exec_event_p): New function. (remote_insert_exec_catchpoint): New function. (remote_remove_exec_catchpoint): New function. diff --git a/gdb/NEWS b/gdb/NEWS index 0cf51e1..bb1c8d9 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -55,6 +55,27 @@ show remote multiprocess-extensions-packet * Support for reading/writing memory and extracting values on architectures whose memory is addressable in units of any integral multiple of 8 bits. +* New remote packets + +exec stop reason + Indicates that an exec system call was executed. + +exec-events feature in qSupported + The qSupported packet allows GDB to request support for exec + events using the new 'gdbfeature' exec-event, and the qSupported + response can contain the corresponding 'stubfeature'. Set and + show commands can be used to display whether these features are enabled. + +* Extended-remote exec events + + ** GDB now has support for exec events on extended-remote Linux targets. + For such targets with Linux kernels 2.5.46 and later, this enables + follow-exec-mode and exec catchpoints. + +set remote exec-event-feature-packet +show remote exec-event-feature-packet + Set/show the use of the remote exec event feature. + *** Changes in GDB 7.10 * Support for process record-replay and reverse debugging on aarch64*-linux* diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 29c66b8..1f99a2f 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,14 @@ +2015-09-11 Don Breazeal + + * gdb.texinfo (Remote Configuration): Add exec event + feature to table of packet settings. + (Stop Reply Packets): Add exec events to the list of stop + reasons. + (General Query Packets): Add exec events to tables of + 'gdbfeatures' and 'stub features' supported in the qSupported + packet, as well as to the list containing stub feature + details. + 2015-08-24 Pedro Alves * gdb.texinfo (Remote Configuration): Document the "set/show diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index cd0abad..395f0d4 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -20225,6 +20225,10 @@ are: @tab @code{vfork stop reason} @tab @code{vfork} +@item @code{exec-event-feature} +@tab @code{exec stop reason} +@tab @code{exec} + @end multitable @node Remote Stub @@ -35506,6 +35510,18 @@ appropriate @samp{qSupported} feature (@pxref{qSupported}). The remote stub must also supply the appropriate @samp{qSupported} feature indicating support. +@cindex exec events, remote reply +@item exec +The packet indicates that @code{execve} was called, and @var{r} +is the absolute pathname of the file that was executed, in hex. +This packet is only applicable to targets that support exec 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} @@ -36110,6 +36126,12 @@ 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. + +@item exec-events +This feature indicates whether @value{GDBN} supports exec 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{exec-events+} in its @samp{qSupported} reply. @end table Stubs should ignore any unknown values for @@ -36373,6 +36395,11 @@ These are the currently defined stub features and their properties: @tab @samp{-} @tab No +@item @samp{exec-events} +@tab No +@tab @samp{-} +@tab No + @end multitable These are the currently defined stub features, in more detail: @@ -36578,6 +36605,9 @@ The remote stub reports the @samp{fork} stop reason for fork events. The remote stub reports the @samp{vfork} stop reason for vfork events and vforkdone events. +@item exec-events +The remote stub reports the @samp{exec} stop reason for exec events. + @end table @item qSymbol:: -- 2.7.4