Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Yao Qi <yao@codesourcery.com>
To: Pedro Alves <palves@redhat.com>
Cc: <gdb-patches@sourceware.org>
Subject: Re: [PATCH,gdbserver] Put 'multiprocess+' in to qSupported reply if GDB supports multiprocess
Date: Wed, 16 Jan 2013 08:31:00 -0000	[thread overview]
Message-ID: <50F66529.3090605@codesourcery.com> (raw)
In-Reply-To: <50F5B421.8040605@redhat.com>

On 01/16/2013 03:55 AM, Pedro Alves wrote:
> I disagree, and it's a dangerous path to follow.   It may prove useful
> to know what exactly does a target support even if your gdb doesn't
> support it for instance, as a debugging aid.  Or GDB itself may know
> of a feature, but choose to not enable it (and therefore not broadcast
> support in its qSupported), but still infer something about the
> target from the target's reported features.  So it's more prudent to

I can't figure out why GDB wants/has to know all features that GDBserver 
supports, even some of features are not supported by GDB.  I don't find 
out a case that GDB has to lie to GDBserver, that GDB doesn't know about 
feature FOO, but is still interested in the feature FOO internally.

> make the qSupported reported features as stateless as possible.

Once we start to add features into qSupported packet (sent from GDB to 
GDBserver), the qSupoorted reply became stateful.  If the qSupported 
reply is exactly about what the remote target supports, GDB doesn't to 
tell GDBserver what features GDB supports by means of qSupported.

b.t.w, GDBserver only puts ";FastTracepoints+" into qSupported reply if 
both GDB sends "qRelocInsn+" and the target supports fast tracepoints.

This issue jumps into my eyes when I think about the query of supported 
notifications on both sides.  Both GDB and GDBserver knows different 
notifications and each of them should know what notifications supported 
in the other side.  The protocol design is as follows:

Supposing GDB knows notification N1, N2, and N3, while GDBserver knows 
notification N1, N2, and N4.

   --> qSupported:notifications=N1,N2,N3;
   <-- XXX;Notificaitons=N1,N2;

as a result, GDBserver knows N3 is not supported by GDB, so doesn't send 
it.  In the RSP interaction, I thought GDBserver doesn't have to tell 
GDB that GDBserver supports N4.  What do you think?

-- 
Yao (齐尧)


  reply	other threads:[~2013-01-16  8:31 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-15  9:02 Yao Qi
2013-01-15 19:55 ` Pedro Alves
2013-01-16  8:31   ` Yao Qi [this message]
2013-01-16 18:18     ` 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=50F66529.3090605@codesourcery.com \
    --to=yao@codesourcery.com \
    --cc=gdb-patches@sourceware.org \
    --cc=palves@redhat.com \
    /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