Re: Remote protocol question: the documentation says '?' is not required, but maybe it is?

Reuben Thomas
2020-07-21T10:29:40Z

On Tue, 21 Jul 2020 at 11:22, Christo Crause <christo.crause@gmail.com>
wrote:

> Reading E.3 suggests that the stop reply packet (S or T) is only expected
> after gdb issued one of a few specific commands. So my interpretation (I'm
> no expert on the topic) is that your unsolicited T packet is confusing gdb.
> It seems as if your debug log is from your gdbserver perspective, can you
> also check the communication received on gdb side (set debug remote 1),
> this may highlight the reply gdb is complaining about.
>

Thanks for getting back to me! I don't think you're right, for two reasons:
first, I am sending the T packet in response to 'c'. (Except the first
time, when of course I didn't get a command, but effectively this is the
stub returning from 'c'.) Secondly, I copied this code from sparc-stub.c in
the GDB sources.

Also, whether or not I send T does not affect GDB's behaviour. In fact, I
shortened my code by changing it to send an S packet instead, which also
works fine, but still GDB needs me to implement '?'. The "invalid remote
reply" is in response to the stub sending an empty reply to "?".