Re: PR13984 - gdb stops controlling a thread after "Remote 'g' packet reply is too long: ..." error message

Pedro Alves
2016-04-13T20:27:36Z

On 04/13/2016 09:07 PM, Orgad Shaneh wrote:
> On Wed, Apr 13, 2016 at 10:11 PM, Luis Machado
> <lgustavo@codesourcery.com> wrote:
>>
>> On 04/13/2016 12:43 AM, Orgad Shaneh wrote:
>>>>>
>>>>> I got this message when I tried to remotely debug a
>>>>> mips64-octeon-linux gdbserver 6.8 with GDB >= 7.5.
>>>>>
>>>>> GDB <= 7.4.1 works well, but with 7.5 and up I receive this message
>>>>> and the debugger stops functioning.
>>>>>
>>>>
>>>> I suppose GDB 7.5 is slightly incompatible with older gdbserver versions.
>>>>
>>>> What kind of target description does gdbserver return in this case (set
>>>> debug remote 1)?
>>>
>>>
>>> Full log attached. Thanks for your help.
>>>
>>> - Orgad
>>>
>>
>> Strange. If this is gdbserver 6.8, it should've replied to the qSupported packet? That one was added in 6.6.
>
>
> Hi,
>
> Sorry, my fault. The gdbserver is GNU gdb 6.5 Cavium Networks Version:
> 1_7_0, build 45
>
> gdbserver 6.8 is in Cavium SDK2. I don't know if it works with recent GDB.
>

So there's no xml target description involved? It sounds like
either the default layout or some of the mips_register_g_packet_guesses
guesses is taking effect then.

If the size of the register file gdbserver is sending is larger than
what gdb is expecting, then it's possible to register offsets
are mismatched as well.

Figure out what set of registers gdbserver is sending, and compare to
"maint print remote-registers", after connecting. What's the mismatch?

Thanks,
Pedro Alves