[PATCH] PR gdb/21226: Take DWARF stack value pieces from LSB end
Ulrich Weigand
uweigand@de.ibm.com
Fri Mar 10 17:57:00 GMT 2017
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.
(This doesn't make much of a difference today since in GDB
bit order is always the same a byte order, but we might as
well get it right ...)
Also, is p->size the right value here? Note that the code before
the loop might already have partially reduced the size and updated
the this_size(_bits) variables. Again, I think this case basically
ought to work the same as the DWARF_VALUE_REGISTER case. (Hmmm.
On the other hand, maybe the DWARF_VALUE_REGISTER case is wrong.
Either way, it should be the same :-))
Bye,
Ulrich
--
Dr. Ulrich Weigand
GNU/Linux compilers and toolchain
Ulrich.Weigand@de.ibm.com
More information about the Gdb-patches
mailing list