[PATCH] PR gdb/21226: Take DWARF stack value pieces from LSB end
Andreas Arnez
arnez@linux.vnet.ibm.com
Mon Mar 13 12:18:00 GMT 2017
On Fri, Mar 10 2017, Ulrich Weigand wrote:
> Andreas Arnez wrote:
>> On Fri, Mar 10 2017, Ulrich Weigand wrote:
>>
>> > Andreas Arnez wrote:
>> >
>> > Sorry, I overlooked one other issue:
>> >
>> >> + /* Piece offset is from least significant bit end. */
>> >> + if (bits_big_endian)
>> >> + source_offset_bits += obj_size - (p->offset + p->size);
>> >> + else
>> >> + source_offset_bits += p->offset;
>> >
>> > Should this really consult bits_big_endian, as opposed to the
>> > regular byte order? Note that in the DWARF_VALUE_REGISTER case,
>> > we have the same issue, and there the byte order is consulted.
>>
>> Using the byte order would strictly be more correct, yes. As opposed to
>> register pieces, we would have to get it from a different gdbarch,
>> though. I think the right one would be the objfile gdbarch of the
>> underlying CU, right?
>
> That sounds right, and is compatible with what is done for full
> DWARF_VALUE_STACK values in dwarf2_evaluate_loc_desc_full.
Right -- which reminds me... A month ago I provided a patch for that as
well:
https://sourceware.org/ml/gdb-patches/2017-03/msg00041.html
--
Andreas
More information about the Gdb-patches
mailing list