This is the mail archive of the mailing list for the GDB project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v2 17/19] Fix bit-/byte-offset mismatch in parameter to read_value_memory

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]