This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] gdbserver: Introduce write_error_msg
- From: Philippe Waroquiers <philippe dot waroquiers at skynet dot be>
- To: Pedro Alves <palves at redhat dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Wed, 23 Nov 2016 21:42:47 +0100
- Subject: Re: [PATCH] gdbserver: Introduce write_error_msg
- Authentication-results: sourceware.org; auth=none
- References: <1479915352-23983-1-git-send-email-palves@redhat.com>
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