This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] gdbserver: Introduce write_error_msg


On Wed, 2016-11-23 at 15:35 +0000, Pedro Alves wrote:
> Instead of writing an error message to (gdbserver's) stderr and then
> returning back "E01" to GDB, send the error message to GDB directly
> using the E.MSG format, so the user can potentially see it.  Several
> places in the code already do this manually.  This patch adds a new
> function (write_error_msg) that abstracts out the "E." prefix detail.
The protocol description/doc does not (very) clearly describe E. prefix.
In the doc, I found the E. is used only at a few places:
  vFlashWrite and a few packets used for branch tracing,
while the gdbserver code uses it at more places.

I think that gdb will accept such an error reply
as a reply to any? many?  packet that can cause an error
(at least I have used E. here and there in Valgrind gdbserver
and it is always accepted by gdb).

The E (error packet) is not formally described.
In the protocol Overview, there is:
"   The error response returned for some packets includes a two
character error number.  That number is not well defined."

But the E packet itself seems not well defined :).

This patch is maybe the occasion to clarify/document
explicitely what gdbserver stubs are allowed to send as an
error response, and then change the doc to just indicate
what packets can send an E error message, rather than
document that 'E NN' is only to be expected for many
packets. 

Thanks

Philippe



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]