[Dwarf-Discuss] DW_FORM_data1 and DW_AT_const_value
Michael Eager
eager@eagercon.com
Mon Jul 26 23:43:58 GMT 2010
David Anderson wrote:
> Michael Eager wrote:
>>> There is a distinction between "ambiguous" and "unspecified".
>>> The interpretation of the value of DW_FORM_data is unspecified.
>>> I don't believe that there is any ambiguity.
>>>
>>
>
> If gcc simply avoided using a DW_FORM_data<n> that was unspecified-meaning
> the problem would go away. For the value 204, DW_FORM_data2 (and
> some other FORMs) would do fine
> without treading unspecified waters.
If the value has the high order bit set, you don't know if it
should be sign or zero extended. I guess you could always use
a data size larger than the smallest which could contain the value.
> When the data<n> is an offset (as in DWARF3 data4, data8) then it
> clearly is 'unsigned'.
>
> If a data type is 'char', and char is 8 bits,
> and a data object's DW_AT_const_value has form DW_FORM_data1
> there is no ambiguity at all.
>
> DW_TAG_subrange gives reason to think that if the basis type and the
> DW_FORM_data<n> are the same size that the DW_AT_upper (and lower)
> bounds would use the signedness of the basis type to 'extend' the bits
> if one is expanding the value to a larger integer.
>
> So not all uses of DW_FORM_data<n> have any value ambiguity.
>
> But some uses of data<n> stray into unspecified waters.
>
> DavidA.
>
>
>
>
>
>
>
> _______________________________________________
> Dwarf-Discuss mailing list
> Dwarf-Discuss at lists.dwarfstd.org
> http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org
>
--
Michael Eager eager at eagercon.com
1960 Park Blvd., Palo Alto, CA 94306 650-325-8077
More information about the Dwarf-discuss
mailing list