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