Re: [PATCH v2 0/7] Support reading/writing memory on architectures with non 8-bits addressable memory

Pedro Alves
2015-06-12T12:00:46Z

On 06/11/2015 10:06 PM, Simon Marchi wrote:

> Here is a draft of how the changes would look like in gdbserver when using addressable
> memory units. It's really not that bad I think.
>
> https://github.com/simark/binutils-gdb/commit/2ecb2f054a288053e3726e92fb6126dd4c782a15
>
> So in the end, it might be more consistent to use addressable memory units everywhere
> in the RSP, and not more complicated to implement. Of course, that's only for things
> related to the target memory, things that fetch an XML file would still be in bytes.
>
> What is your opinion on this?
>

I agree.

>>>
>>> -> $m1000,8#??
>>> <- aaaabbbbccccdddd
>>>
>>> -> $M1000,6:eeeeffffeeee#??
>>> <- OK
>>>
>>> -> $m1000,8#??
>>> <- eeeeffffeeeedddd
>>>
>>> If there are any other RSP packets or MI commands that need such
>>> clarification, it will be on a case-by-case basis, whatever makes more
>>> sense for each particular one.
>>
>> Off hand, I thought of qCRC and qSearch:memory. The latter is
>> more interesting:
>>
>> - Would you allow searching for an 1 8-bit byte pattern?
>
> Hmm I don't know. To be safe I'd say no. If we do, it means we need to
> search with a granularity of a byte. What if you search for the pattern
> 0x2345 in this memory:
>
> 0x100 0123
> 0x101 4567
> 0x102 89ab
> 0x103 cdef
>
> Should there be a match that spans halves of two addresses? Unless we only
> search with a byte granularity in the special case where the pattern is
> one byte long? But then what about 3-bytes patterns?
>
> I think it's a lot of corner cases for not much value. I think it could be
> enhanced later to support it if somebody needs it.

I agree.

(it seems good/desirable to me to have all memory-related packets
likewise treat memory range lengths the same)

>
>> - So what length would you use for that one? Host byte
>> or addressable units?
>
> Length here would be in addressable units.
>

Agreed.

Thanks,
Pedro Alves