From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32285 invoked by alias); 5 Jul 2007 19:39:49 -0000 Received: (qmail 32275 invoked by uid 22791); 5 Jul 2007 19:39:49 -0000 X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (65.74.133.4) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 05 Jul 2007 19:39:45 +0000 Received: (qmail 1161 invoked from network); 5 Jul 2007 19:39:43 -0000 Received: from unknown (HELO localhost) (jimb@127.0.0.2) by mail.codesourcery.com with ESMTPA; 5 Jul 2007 19:39:43 -0000 To: Eli Zaretskii Cc: gdb@sourceware.org Subject: Re: RFC: Add named errors and messages to remote protocol References: <20070703171613.GH2868@caradoc.them.org> From: Jim Blandy Date: Thu, 05 Jul 2007 19:39:00 -0000 In-Reply-To: (Eli Zaretskii's message of "Thu, 05 Jul 2007 00:29:34 +0300") Message-ID: User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2007-07/txt/msg00044.txt.bz2 Eli Zaretskii writes: >> From: Jim Blandy >> Date: Wed, 04 Jul 2007 00:08:08 -0700 >> >> A stub is required to support the @samp{g}, @samp{G}, @samp{m}, @samp{M}, >> @samp{c}, and @samp{s} @var{command}s. All other @var{command}s are >> optional. >> on that response (but see also @ref{qSupported}). > > Something is wrong here. Sorry. I tried to produce this text from a patch. I should have simply copied it from the patched manual: @node Standard Replies @section Standard Replies The remote protocol specifies a few standard replies. All commands support these, except as noted in the individual command descriptions. @table @samp @item @cindex empty response, for unsupported packets @cindex unsupported packets, empty response for For any @var{command} not supported by the stub, an empty response (@samp{$#00}) should be returned. That way it is possible to extend the protocol. A newer @value{GDBN} can tell if a packet is supported based on that response (but see also @ref{qSupported}). @item E @var{xx} An error has occurred; @var{xx} is a two-digit hexadecimal error number. In almost all cases, the protocol does not specify the meaning of the error numbers; GDB usually ignores the numbers, or displays them to the user without further interpretation. @item E.@var{name}@r{[}.@var{message}@r{]} An error has occurred; @var{name} is the name of the error. The name may contain letters, numbers, and @samp{-} characters. If present, @var{message} is an error message, encoded using the escaped eight-bit conventions for binary data described above. Except as noted, named errors may only be returned to commands documented to expect them; this ensures that older stubs can interact with newer versions of @value{GDBN}, even when interpretations for named errors have been added to the protocol. The protocol uses the following error names: @table @samp @item fatal A fatal error has occurred; the stub will be unable to interact further with @value{GDBN}. Fatal errors should always include a message explaining their cause. Any command may return this error. @item memtype The memory addressed is of the wrong type for the given command. For example, a @samp{vFlashWrite} command applied to non-flash memory elicits an @samp{E.memtype} error response. @end table @end table