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 21:01:07 +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:
> 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.
Bye,
Ulrich
--
Dr. Ulrich Weigand
GNU/Linux compilers and toolchain
Ulrich.Weigand@de.ibm.com