On 01/26/2017 11:17 AM, Andreas Arnez wrote:
Exactly: the current DWARF text*differs*  from the usual "defined by the
ABI"-principle when it states for DW_OP_bit_piece: "If the location is a
register, the offset is from the least significant bit end of the
register".  This definition limits the ABI's freedom such that register
growth can only be anchored at the "least significant bit".

That's not the case.  The ABI is free to put a value where ever it wishes
in a register.  The DWARF description will be different, depending on where
the ABI puts the value, indexed from the least-significant bit of the register.
DW_OP_bit_piece is designed explicitly to support this.

I have to admit that I'm unclear exactly what you mean by "register growth".
But if you load a 16-bit value into the most-significant half of a 32-bit 
register
(is this growing a register?) then you would describe the value in the register
with a length of 16 and an offset of 16.  Same applies for 32-bit values in
64-bit registers.

--
Michael Eager    ea...@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077
_______________________________________________
Dwarf-Discuss mailing list
Dwarf-Discuss@lists.dwarfstd.org
http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org

Reply via email to