Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Philippe Waroquiers <philippe.waroquiers@skynet.be>
To: Stan Shebs <stanshebs@earthlink.net>
Cc: gdb-patches@sourceware.org
Subject: Documenting E. packet. (was Re: [patch] Fix PR 13392 : check offset of JMP insn)
Date: Wed, 07 Mar 2012 20:41:00 -0000	[thread overview]
Message-ID: <1331152865.2209.46.camel@soleil> (raw)
In-Reply-To: <4F568602.8040005@earthlink.net>

On Tue, 2012-03-06 at 13:47 -0800, Stan Shebs wrote:

> > Is there somewhere a description of what an E. packet is,
> > and when this is allowed ?
> >
...
> It doesn't look like it's officially described in the manual.  The 
...
> 
> It's conceivable that one could do something with GDB that interprets 
> the error reply (whether NN or a string) and does something differently, 
> but in practice, if the target side is reporting errors, things are 
> going straight downhill and the user needs to decide what to do about 
> it.  Also, if a particular result is common enough that GDB has code to 
> cope with it, then maybe it's just another element of the protocol, not 
> really an error. :-)

Effectively, having GDB trying to do something sophisticated depending
on the E NN nr or E. string received from the stub looks difficult.

There is however already some kind of logic in GDB.
E.g. in remote.c, the function trace_error handles differently E.,
E1? and E2?.

There are other places where only E NN is considered as an error.
E. is not considered as an error.
Example: qRcmd.


When I did the Valgrind gdbserver, I had to return a readable error
msg to the user but did not find a way to do that in the doc.
I found the E. by reading the gdb sources and used it (believing
I was doing a nasty thing. But now, I see it is just an officially
accepted error packet, just not documented :).
=> it looks better to document this E. packet.

However, it is not clear to me what is exactly expected for
this documentation/behaviour.

It looks better if at all places where an E NN is accepted by GDB,
GDB would also accept an E. packet.

But that is not the current behaviour, so either remote.c is
changed to consistently accept E NN and E. everywhere,
or the protocol doc must match the current behaviour,
and indicate for each packet if an E NN and/or an E. error is
accepted.

Philippe



  reply	other threads:[~2012-03-07 20:41 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-06 13:39 [patch] Fix PR 13392 : check offset of JMP insn Yao Qi
2012-03-06 17:03 ` Pedro Alves
2012-03-06 20:15   ` Philippe Waroquiers
2012-03-06 21:48     ` Stan Shebs
2012-03-07 20:41       ` Philippe Waroquiers [this message]
2012-03-07 20:59         ` Documenting E. packet. (was Re: [patch] Fix PR 13392 : check offset of JMP insn) Pedro Alves
2012-03-07 21:21           ` Philippe Waroquiers
2012-03-07  8:25   ` [patch] Fix PR 13392 : check offset of JMP insn Yao Qi
2012-03-08 17:07     ` Pedro Alves
2012-03-09  3:51       ` Yao Qi

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=1331152865.2209.46.camel@soleil \
    --to=philippe.waroquiers@skynet.be \
    --cc=gdb-patches@sourceware.org \
    --cc=stanshebs@earthlink.net \
    /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