On Fri, Mar 04 2016, Cary Coutant wrote:
> It's up to the ABI to define how smaller values are placed within a register.
Right, that seems to be the common understanding. Maybe the confusion
arose because the standard does not explicitly make this statement. Or
did I miss it?
Also, I wonder wh
On 03/04/2016 01:12 PM, Adrian Prantl wrote:
I have a best-practice kind of question:
The x86_64 System V ABI passes floating point values in the xmm0, xmm1, ...
128-bit SSE vector registers. I’m wondering what the correct DWARF v4 (lacking
the DWARF 5 type conversions) expression for a 32-bit
On Mar 9, 2016 8:36 AM, "Michael Eager" wrote:
>
> On 03/04/2016 01:12 PM, Adrian Prantl wrote:
>>
>> I have a best-practice kind of question:
>>
>> The x86_64 System V ABI passes floating point values in the xmm0, xmm1,
... 128-bit SSE vector registers. I’m wondering what the correct DWARF v4
(la
On Wed, Mar 09, 2016 at 08:36:44AM -0800, Michael Eager wrote:
> How is the "float" type described?
>
> A value which is contained in a register larger than the size of
> the value should be described by a DW_TAG_base_type. (DWARF 4,
> Sect. 5.1, bottom of page 75).
>
> For a 32-bit float in a 1
On 03/09/2016 09:33 AM, Jakub Jelinek wrote:
On Wed, Mar 09, 2016 at 08:36:44AM -0800, Michael Eager wrote:
How is the "float" type described?
A value which is contained in a register larger than the size of
the value should be described by a DW_TAG_base_type. (DWARF 4,
Sect. 5.1, bottom of pa
On Wed, Mar 9, 2016 at 9:57 AM, Michael Eager wrote:
> On 03/09/2016 09:33 AM, Jakub Jelinek wrote:
>
>> On Wed, Mar 09, 2016 at 08:36:44AM -0800, Michael Eager wrote:
>>
>>> How is the "float" type described?
>>>
>>> A value which is contained in a register larger than the size of
>>> the value
Jakub Jelinek wrote:
On Wed, Mar 09, 2016 at 08:36:44AM -0800, Michael Eager wrote:
How is the "float" type described?
A value which is contained in a register larger than the size of
the value should be described by a DW_TAG_base_type. (DWARF 4,
Sect. 5.1, bottom of page 75).
F
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.
>
Jakub Jelinek wrote:
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 convention
On 03/09/2016 10:00 AM, David Blaikie wrote:
On Wed, Mar 9, 2016 at 9:57 AM, Michael Eager mailto:ea...@eagercon.com>> wrote:
On 03/09/2016 09:33 AM, Jakub Jelinek wrote:
On Wed, Mar 09, 2016 at 08:36:44AM -0800, Michael Eager wrote:
How is the "float" type described?
On 03/09/2016 10:50 AM, John DelSignore wrote:
I think what you are saying, and I agree, is that the type of a variable is
orthogonal to where (or
how) the variable is stored. DWARF should not muddy the type entries with
attributes that attempt to
describe how a variable is stored somewhere. As
Hi -
On Wed, Mar 09, 2016 at 11:20:38AM -0800, Michael Eager wrote:
> [...]
> Variable definitions describe where the variable is defined.
> If the size of the variable is different from the size of
> the container, it should be described as such.
>
> This has nothing to do with location lists.
> On Mar 9, 2016, at 8:36 AM, Michael Eager wrote:
>
> On 03/04/2016 01:12 PM, Adrian Prantl wrote:
>> I have a best-practice kind of question:
>>
>> The x86_64 System V ABI passes floating point values in the xmm0, xmm1, ...
>> 128-bit SSE vector registers. I’m wondering what the correct DWAR
On 03/09/2016 11:26 AM, Frank Ch. Eigler wrote:
Hi -
On Wed, Mar 09, 2016 at 11:20:38AM -0800, Michael Eager wrote:
[...]
Variable definitions describe where the variable is defined.
If the size of the variable is different from the size of
the container, it should be described as such.
This h
On Mar 4, 2016, at 2:00 PM, Robinson, Paul
wrote:
> I tried a CU with an int variable instead of float, and enough other
> stuff to keep it from being optimized away completely.
> gcc produced DW_OP_reg3, while Clang produced "DW_OP_reg3; DW_OP_piece 4"
> for the same variable.
>
> DW_OP_piece
On 03/09/2016 11:35 AM, Adrian Prantl wrote:
On Mar 9, 2016, at 8:36 AM, Michael Eager wrote:
On 03/04/2016 01:12 PM, Adrian Prantl wrote:
I have a best-practice kind of question:
The x86_64 System V ABI passes floating point values in the xmm0, xmm1, ...
128-bit SSE vector registers. I’m
> A value which is contained in a register larger than the size of
> the value should be described by a DW_TAG_base_type. (DWARF 4,
> Sect. 5.1, bottom of page 75).
>
> For a 32-bit float in a 128-bit container, use something like the following:
>
> DW_TAG_base_type
> DW_AT_name "float"
>
On 03/09/2016 02:53 PM, Cary Coutant wrote:
A value which is contained in a register larger than the size of
the value should be described by a DW_TAG_base_type. (DWARF 4,
Sect. 5.1, bottom of page 75).
For a 32-bit float in a 128-bit container, use something like the following:
DW_TAG_base
On 03/09/2016 05:24 PM, Michael Eager wrote:
There are no DWARF expressions involved here. What does the
description of DW_OP_piece have to do with a DWARF description
which doesn't use a DWARF expression?
Oops. There is a DWARF expression in the DW_AT_location.
--
Michael Eagerea...@eag
>> Sorry, Michael, but you're just muddying the waters. The
>> data_bit_offset attribute is used only when "the value of an object of
>> the given type does not fully occupy the storage described by a byte
>> size attribute." That is not the case here -- the original question
>> was about a value o
> On 03/09/2016 02:53 PM, Cary Coutant wrote:
> >> A value which is contained in a register larger than the size of
> >> the value should be described by a DW_TAG_base_type. (DWARF 4,
> >> Sect. 5.1, bottom of page 75).
> >>
> >> For a 32-bit float in a 128-bit container, use something like the
>
Hi, Cary -
> [...] We're not discussing "how ABIs tell you how to interpret
> [location lists]". We're discussing whether the consumer is expected
> to turn to the ABI to find out how a smaller value is stored in a
> larger register. [...]
Given that the ABI constraints apply only at function ca
We're straying even further off topic now...
>> [...] We're not discussing "how ABIs tell you how to interpret
>> [location lists]". We're discussing whether the consumer is expected
>> to turn to the ABI to find out how a smaller value is stored in a
>> larger register. [...]
>
> Given that the
23 matches
Mail list logo