[1/2] Add "set remote multiprocess-extensions-packet" command
Commit Message
Being able to force-disable the RSP multiprocess extensions is useful
for testing.
gdb/ChangeLog:
2015-08-24 Pedro Alves <palves@redhat.com>
* NEWS (New commands): Mention set/show remote
multiprocess-extensions-packet.
* remote.c (remote_query_supported): Only tell the server to use
the multiprocess extensions if the user hasn't force-disabled them
with "set remote multiprocess-extensions-packet off".
gdb/doc/ChangeLog:
2015-08-24 Pedro Alves <palves@redhat.com>
* gdb.texinfo (Remote Configuration): Document the "set/show
remote multiprocess-extensions-packet" commands.
---
gdb/NEWS | 4 ++++
gdb/doc/gdb.texinfo | 4 ++++
gdb/remote.c | 7 +++++--
3 files changed, 13 insertions(+), 2 deletions(-)
Comments
> From: Pedro Alves <palves@redhat.com>
> Date: Mon, 24 Aug 2015 18:10:36 +0100
>
> +set remote multiprocess-extensions-packet
> +show remote multiprocess-extensions--packet
^^
Extra hyphen.
> gdb/doc/ChangeLog:
> 2015-08-24 Pedro Alves <palves@redhat.com>
>
> * gdb.texinfo (Remote Configuration): Document the "set/show
> remote multiprocess-extensions-packet" commands.
What the ChangeLog entry promises the text doesn't keep:
> diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
> index 5dfb14b..cd0abad 100644
> --- a/gdb/doc/gdb.texinfo
> +++ b/gdb/doc/gdb.texinfo
> @@ -20205,6 +20205,10 @@ are:
> @tab @code{Z0 and Z1}
> @tab @code{Support for target-side breakpoint condition evaluation}
>
> +@item @code{multiprocess-extensions}
> +@tab @code{multiprocess extensions}
> +@tab Debug multiple processes and remote process PID awareness
> +
> @item @code{swbreak-feature}
> @tab @code{swbreak stop reason}
> @tab @code{break}
Thanks.
On 08/24/2015 06:28 PM, Eli Zaretskii wrote:
>> gdb/doc/ChangeLog:
>> 2015-08-24 Pedro Alves <palves@redhat.com>
>>
>> * gdb.texinfo (Remote Configuration): Document the "set/show
>> remote multiprocess-extensions-packet" commands.
>
> What the ChangeLog entry promises the text doesn't keep:
AFAIK, that's really all there is to document this kind of
set remote foo-packet commands. Above that table we have:
For each packet @var{name}, the command to enable or disable the
packet is @code{set remote @var{name}-packet}. The available settings
are:
@multitable @columnfractions 0.28 0.32 0.25
@item Command Name
@tab Remote Packet
@tab Related Features
Thanks,
Pedro Alves
>
>> diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
>> index 5dfb14b..cd0abad 100644
>> --- a/gdb/doc/gdb.texinfo
>> +++ b/gdb/doc/gdb.texinfo
>> @@ -20205,6 +20205,10 @@ are:
>> @tab @code{Z0 and Z1}
>> @tab @code{Support for target-side breakpoint condition evaluation}
>>
>> +@item @code{multiprocess-extensions}
>> +@tab @code{multiprocess extensions}
>> +@tab Debug multiple processes and remote process PID awareness
>> +
>> @item @code{swbreak-feature}
>> @tab @code{swbreak stop reason}
>> @tab @code{break}
>
> Thanks.
>
> Date: Mon, 24 Aug 2015 18:31:08 +0100
> From: Pedro Alves <palves@redhat.com>
> CC: gdb-patches@sourceware.org
>
> On 08/24/2015 06:28 PM, Eli Zaretskii wrote:
>
> >> gdb/doc/ChangeLog:
> >> 2015-08-24 Pedro Alves <palves@redhat.com>
> >>
> >> * gdb.texinfo (Remote Configuration): Document the "set/show
> >> remote multiprocess-extensions-packet" commands.
> >
> > What the ChangeLog entry promises the text doesn't keep:
>
> AFAIK, that's really all there is to document this kind of
> set remote foo-packet commands. Above that table we have:
>
> For each packet @var{name}, the command to enable or disable the
> packet is @code{set remote @var{name}-packet}.
Strange habit, but who am I to object?
Thanks.
@@ -28,6 +28,10 @@ set debug bfd-cache
show debug bfd-cache
Control display of debugging info regarding bfd caching.
+set remote multiprocess-extensions-packet
+show remote multiprocess-extensions--packet
+ Set/show the use of the remote protocol multiprocess extensions.
+
* The "disassemble" command accepts a new modifier: /s.
It prints mixed source+disassembly like /m with two differences:
- disassembled instructions are now printed in program order, and
@@ -20205,6 +20205,10 @@ are:
@tab @code{Z0 and Z1}
@tab @code{Support for target-side breakpoint condition evaluation}
+@item @code{multiprocess-extensions}
+@tab @code{multiprocess extensions}
+@tab Debug multiple processes and remote process PID awareness
+
@item @code{swbreak-feature}
@tab @code{swbreak stop reason}
@tab @code{break}
@@ -4352,7 +4352,8 @@ remote_query_supported (void)
char *q = NULL;
struct cleanup *old_chain = make_cleanup (free_current_contents, &q);
- q = remote_query_supported_append (q, "multiprocess+");
+ if (packet_set_cmd_state (PACKET_multiprocess_feature) != AUTO_BOOLEAN_FALSE)
+ q = remote_query_supported_append (q, "multiprocess+");
if (packet_set_cmd_state (PACKET_swbreak_feature) != AUTO_BOOLEAN_FALSE)
q = remote_query_supported_append (q, "swbreak+");
@@ -13231,6 +13232,9 @@ Show the maximum size of the address (in bits) in a memory packet."), NULL,
add_packet_config_cmd (&remote_protocol_packets[PACKET_Qbtrace_conf_bts_size],
"Qbtrace-conf:bts:size", "btrace-conf-bts-size", 0);
+ add_packet_config_cmd (&remote_protocol_packets[PACKET_multiprocess_feature],
+ "multiprocess-feature", "multiprocess-feature", 0);
+
add_packet_config_cmd (&remote_protocol_packets[PACKET_swbreak_feature],
"swbreak-feature", "swbreak-feature", 0);
@@ -13260,7 +13264,6 @@ Show the maximum size of the address (in bits) in a memory packet."), NULL,
switch (i)
{
case PACKET_QNonStop:
- case PACKET_multiprocess_feature:
case PACKET_EnableDisableTracepoints_feature:
case PACKET_tracenz_feature:
case PACKET_DisconnectedTracing_feature: