On Wed, Mar 09, 2016 at 01:24:37PM -0500, John DelSignore wrote:
> I agree completely with Jakub. Defining multiple "float" types that
> have varying byte-sizes, bit-sizes, and bit-offsets seems like a big
> mistake to me.
>
> The debugger has to know the ABI conventions for the target platform.
> It's unavoidable. Hopefully,  for ISVs like us, the ABI is "standard"
> and all of the compilers for a given platform follow the ABI
> conventions. Knowing the ABI conventions for the platform is especially
> important when the debugger is asked to call functions in the target
> process, which is something that DWARF does not describe at all.
> Passing float and double actual parameters to target function requires
> the debugger know if the values goes on the stack, in a register, or is
> split between the stack and a register (yes, this does happen).

Note that this isn't just about float and XMM registers, I don't see how
that is different from say a char variable living in a x86_64 GPR
(it is again the low 8 bits of a 64-bit register), or int variable in GPR
(again, low 32 bits of a 64-bit register).  How is that different from
low 32 or 64-bits of a {128,256,512}-bit register (depending on the HW
AVX or AVX512f support)?  In all cases it is just DW_OP_reg*.

        Jakub
_______________________________________________
Dwarf-Discuss mailing list
Dwarf-Discuss@lists.dwarfstd.org
http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org

Reply via email to