[PATCH v2 17/19] Fix bit-/byte-offset mismatch in parameter to read_value_memory
Andreas Arnez
arnez@linux.vnet.ibm.com
Wed May 31 14:02:00 GMT 2017
On Tue, May 30 2017, Simon Marchi wrote:
> On 2017-05-09 19:46, Andreas Arnez wrote:
>> @@ -984,8 +984,9 @@ read_value_memory (struct value *val, LONGEST
>> embedded_offset,
>> if (status == TARGET_XFER_OK)
>> /* nothing */;
>> else if (status == TARGET_XFER_UNAVAILABLE)
>> - mark_value_bytes_unavailable (val, embedded_offset + xfered_total,
>> - xfered_partial);
>> + mark_value_bits_unavailable (val, (xfered_total * HOST_CHAR_BIT
>> + + bit_offset),
>> + xfered_partial * HOST_CHAR_BIT);
>
> Since it's readily available, please use the unit_size variable here
> instead of HOST_CHAR_BIT.
Hm, I thought unit_size represents the number of *bytes* stored at the
same target address. But we need an offset in *bits* here. Maybe you
mean that xfered_total should have been multiplied by unit_size even
before my patch? (Is it even correct that xfered_partial measures
addressable target units? Note that to_xfer_partial is documented to
"[...] transfer up to LEN 8-bit bytes of the target's OBJECT.")
>
> LGTM with that change.
Thanks!
More information about the Gdb-patches
mailing list