From 176efed15cabb932a7e9fb2c5e6ef0753e8351a0 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Mon, 15 May 2017 10:11:57 +0100 Subject: [PATCH] gdb: Document vMustReplyEmpty remote packet Add mention of the vMustReplyEmpty to the remote serial protocol documentation. It is important that this packet be treated in the same fashion as any other unknown 'v' packet, and I have tried to reflect this in the description of the packet, it is not simply the case that we _must_ return the empty string for this packet. As the intention is that we should treat this packet as unknown then an argument could be made that we should not document it, however, for someone implementing a gdbserver from scratch, seeing an undocumented packet arrive from gdb is confusing, and will probably cause them to have to read the code in order to check how this packet should be handled, which is not ideal. gdb/doc/ChangeLog: * gdb.texinfo (Packets): Document vMustReplyEmpty packet. --- gdb/doc/ChangeLog | 4 ++++ gdb/doc/gdb.texinfo | 13 +++++++++++++ 2 files changed, 17 insertions(+) diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 8afb2e5b443..000f3c813d7 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,7 @@ +2017-05-22 Andrew Burgess + + * gdb.texinfo (Packets): Document vMustReplyEmpty packet. + 2017-05-01 Tim Wiederhake * python.texi (Recording in Python): Factor out the documentation of diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index f2e615660ed..9fb70f6d2ae 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -35827,6 +35827,19 @@ for an error for success @end table +@item vMustReplyEmpty +@cindex @samp{vMustReplyEmpty} packet +The correct reply to an unknown @samp{v} packet is to return the empty +string, however, some older versions of @command{gdbserver} would +incorrectly return @samp{OK} for unknown @samp{v} packets. + +The @samp{vMustReplyEmpty} is used as a feature test to check how +@command{gdbserver} handles unknown packets, it is important that this +packet be handled in the same way as other unknown @samp{v} packets. +If this packet is handled differently to other unknown @samp{v} +packets then it is possile that @value{GDBN} may run into problems in +other areas, specifically around use of @samp{vFile:setfs:}. + @item vRun;@var{filename}@r{[};@var{argument}@r{]}@dots{} @cindex @samp{vRun} packet Run the program @var{filename}, passing it each @var{argument} on its -- 2.30.2