This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] PR gdb/21226: Take DWARF stack value pieces from LSB end
- From: "Ulrich Weigand" <uweigand at de dot ibm dot com>
- To: arnez at linux dot vnet dot ibm dot com (Andreas Arnez)
- Cc: gdb-patches at sourceware dot org
- Date: Fri, 10 Mar 2017 18:57:40 +0100 (CET)
- Subject: Re: [PATCH] PR gdb/21226: Take DWARF stack value pieces from LSB end
- Authentication-results: sourceware.org; auth=none
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