[Dwarf-Discuss] DWARF piece questions
Michael Eager
eager@eagercon.com
Fri Jan 27 01:17:22 GMT 2017
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 eager at eagercon.com
1960 Park Blvd., Palo Alto, CA 94306 650-325-8077
More information about the Dwarf-discuss
mailing list