public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Pedro Alves <pedro@palves.net>
To: Christina Schimpe <christina.schimpe@intel.com>,
	gdb-patches@sourceware.org
Subject: Re: [PATCH v2 1/3] gdb: Make global feature array a per-remote target array
Date: Mon, 18 Apr 2022 20:01:00 +0100	[thread overview]
Message-ID: <08fd8bbf-c44e-7313-d7b3-7b0770c2c7d4@palves.net> (raw)
In-Reply-To: <20220329131158.3970228-2-christina.schimpe@intel.com>

On 2022-03-29 14:11, Christina Schimpe via Gdb-patches wrote:
> This patch applies the appropriate FIXME notes described in commit 5b6d1e4
> "Multi-target support".
> 
> "You'll notice that remote.c includes some FIXME notes.  These refer to
> the fact that the global arrays that hold data for the remote packets
> supported are still globals.  For example, if we connect to two
> different servers/stubs, then each might support different remote
> protocol features.  They might even be different architectures, like
> e.g., one ARM baremetal stub, and a x86 gdbserver, to debug a
> host/controller scenario as a single program.  That isn't going to
> work correctly today, because of said globals.  I'm leaving fixing
> that for another pass, since it does not appear to be trivial, and I'd
> rather land the base work first.  It's already useful to be able to
> debug multiple instances of the same server (e.g., a distributed
> cluster, where you have full control over the servers installed), so I
> think as is it's already reasonable incremental progress."
> 
> Using this patch it is possible to configure per-remote targets'
> feature packets.

Thanks for working on this.  And so sorry for coming in late!  I wish I had gotten
involved in this discussion sooner.

I'm not 100% sure about the solution here.

What is the reasoning for making "set remote foo" affect future
connections in addition to the current connection?  I didn't see a discussion about
that, and it seems counterintuitive to me offhand.  I would think that:

 - if connected, the set command affects the current connection.

 - if not connected, the set command affects future connections.

... would be the simplest solution.  Thus, if the inferior you have selected is connected
and you want to configure future connections, you'd first drop the connection, or switch
to an inferior that is not connected.

It seems odd that set affects both current and future connections, while show only mentions the
state about the current connection, for instance.

Also, I think it would be better if both the set and the show commands used the
same wording.  Currently you have, when not connected:

 (gdb) set remote X-packet off 
 Use of the 'p' packet for future remote targets is set to "off".
 (gdb) show remote X-packet 
 Support for the 'p' packet on newly created remote targets is "disabled".

Note the
 "Use of" vs "Support for", 
and the
 "for future remote targets", vs "on newly created remote targets".

Also note that "disabled" is not accepted by the "set command", while printing
it in quotes suggests that it would.  I mean, note:

Current master:

 (gdb) show remote X-packet
 Support for the `p' packet is currently disabled.

(no quotes around disabled)

vs your patches:

 (gdb) show remote X-packet 
 Support for the 'p' packet on newly created remote targets is "disabled".

and of course:

 (gdb) set remote X-packet disabled
 "on", "off" or "auto" expected.


Also, BTW, err, why do we talk about the 'p' packet if the command is about
the X packet?  That's busted.  Seems like a preexisting issue in current master.

> +/* Convert the target type (future remote target or currently connected target)
> +   to a name used for gdb printing.  */
> +
> +static const char *
> +get_target_type_name (bool target_connected)
> +{
> +  if (target_connected)
> +    return "on the current remote target";
> +  else
> +    return "on newly created remote targets";
> +}

Note this is not i18n friendly.

Pedro Alves

  parent reply	other threads:[~2022-04-18 19:01 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-29 13:11 [PATCH v2 0/3] Apply fixme notes for multi-target support Christina Schimpe
2022-03-29 13:11 ` [PATCH v2 1/3] gdb: Make global feature array a per-remote target array Christina Schimpe
2022-03-29 13:45   ` Eli Zaretskii
2022-04-18 14:56   ` Tom Tromey
2022-04-18 19:01   ` Pedro Alves [this message]
2022-04-20 11:30     ` "show remote foo-packet" regression (Re: [PATCH v2 1/3] gdb: Make global feature array a per-remote target array) Pedro Alves
2022-04-20 11:31     ` Pedro Alves
2022-04-21 10:25       ` Andrew Burgess
2022-04-21 10:31         ` Pedro Alves
2022-04-21 11:01           ` Andrew Burgess
2022-04-21 16:28             ` Andrew Burgess
2022-04-21 18:20               ` Pedro Alves
2022-04-27 13:55     ` [PATCH v2 1/3] gdb: Make global feature array a per-remote target array Schimpe, Christina
2022-05-25 14:27       ` Pedro Alves
2022-06-01 10:45         ` Schimpe, Christina
2022-03-29 13:11 ` [PATCH v2 2/3] gdb: Add per-remote target variables for memory read and write config Christina Schimpe
2022-03-29 13:48   ` Eli Zaretskii
2022-04-18 14:56   ` Tom Tromey
2022-03-29 13:11 ` [PATCH v2 3/3] gdb: Remove workaround for the vCont packet Christina Schimpe
2022-04-18 14:59   ` Tom Tromey

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=08fd8bbf-c44e-7313-d7b3-7b0770c2c7d4@palves.net \
    --to=pedro@palves.net \
    --cc=christina.schimpe@intel.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).