Re: [PATCH v3 5/8] gdbserver: Transmit target description ID in thread list and stop reply

Luis Machado via Gdb-patches
2023-02-03T11:23:19Z

On 2/1/23 17:03, Simon Marchi via Gdb-patches wrote:
>
>> Having read some of the later patches, I have some additional thoughts
>> here:
>>
>> I think we should make it explicit here that IDs are connection wide,
>> not per-process. We should also make it clear that GDB might[1] cache
>> target descriptions per remote connection, and so a remote target should
>> not reuse a target description ID except where the target description is
>> identical.
>>
>> [1] I say "GDB might" here because if we say "GDB will" then this would
>> imply each target description will only be asked for once. And I
>> figure, why be overly restrictive.
>
> Thanks for pointing this out, I had the same thought while reading the
> patch.
>
> In my original idea, I imagined that target description IDs could be
> some hashes computed from the XML content (a bit like git hashes or ELF
> build IDs), such that a given target description would always have the
> same ID. This would give clients the possibility to cache target
> descriptions locally, a bit like the index cache. It did sound nice,
> but perhaps it's not really important.

Are you considering an encoded block of data that gdbserver sends to gdb, which in turn unpacks it on its end and use it to compute a target description?

Something along the lines of gdb/arch/aarch64.h:"struct aarch64_features" and how we encode features through bits?

>
> Simon