This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils 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: [Dwarf-Discuss] Some DWARFv5 draft feedback


On Thu, Dec 01 2016, Mark Wielaard wrote:

> BTW. It would be handy if there were sources for the spec so one can
> create patches for simple typos. Also it is somewhat opaque how Issues
> are handled. Could they and any comments from the committee be sent to
> the mailinglist to make tracking changes to the draft easier.

+1.


While we're at it, DWARF5 should improve the description of DW_OP_piece
and DW_OP_bit_piece.  AFAIK, their handling is fairly broken in all
existing DWARF producers and consumers (certainly in GDB -- in multiple
ways!), so even incompatible changes may not cause much harm.  See my
previous mails on this topic:

 http://lists.dwarfstd.org/private.cgi/dwarf-discuss-dwarfstd.org/2016-March/004229.html
 https://sourceware.org/ml/gdb/2016-01/msg00013.html

E.g.:

* DW_OP_bit_piece: [...] "If the location is a register, the offset is
  from the least significant bit end of the register."

  Is it intentional that this differs from the definition of
  DW_OP_piece, where the "placement of the piece within that register is
  defined by the ABI"?  Or can it be assumed (like all current
  producers/consumers do, AFAIK) that DW_OP_piece shall behave as if it
  was a DW_OP_bit_piece with offset 0?  What does the least significant
  bit end even mean, say, for a vector register?  And is this really a
  useful definition for FP registers, where the natural alignment is
  from the *most* significant bit end?

* DW_OP_piece: Some existing producers may emit DW_OP_piece operations
  that exceed the size of a single register, supposedly referring to
  multiple ("consecutive") registers.

  This usage is not covered by the current description of DW_OP_piece.
  Should it be?

--
Andreas

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