The following reply was made to PR backtrace/2224; it has been noted by GNATS.
From: "Godmar Back" <godmar@xxxxxxxxx>
To: "Daniel Jacobowitz" <drow@xxxxxxxxx>
Cc: gdb-gnats@xxxxxxxxxxxxxxxxxx
Subject: Re: backtrace/2224: backtrace doesn't work with bochs stub anymore
Date: Wed, 7 Feb 2007 12:36:07 -0500
On 2/7/07, Daniel Jacobowitz <drow@xxxxxxxxx> wrote:
>
> There has been no change. Earlier versions didn't send this particular
> packet, which was only added recently, so did not trigger the bochs bug
> of an incorrect reply.
>
> You are responding to a packet that you don't recognize. Therefore the
> right response is $#00, the empty packet, which informs GDB that you
> don't recognize it. This is described in the manual.
>
> If you tell GDB "something has gone wrong but we don't know what, so
> here, have something syntactically incorrect" it is better for it to
> stop and inform the user that something has gone wrong. It could be
> out of sync with the stub, which can lead to many hard to debug
> problems - especially in new GDB versions.
>
> By the way, for an Enn response it doesn't currently matter what
> error code you use - GDB doesn't interpret any of them specially.
> That's a long standing weakness of the protocol; error behavior
> is underspecified.
>
I'm not certain this interpretation fully explains what's going on/is
consistent from gdb's point of view.
The new version of gdb works if the error response from bochs is
syntactically correct (specifically Eff), but doesn't "work" - doesn't
pursue the 'm' commands for the backtrace if it's not syntactically
correct. I did not change bochs to return +$#00 as you say I should
response to a packet I don't recognize.
- Godmar
|