Hi Mark,

I looked at TotalView's DWARF reader, and omitting DW_AT_byte_size from 
DW_TAG_enumeration_type would require code changes. TotalView treats enums as 
self-contained types with a discrete byte length; in other words, enum types 
are not based on some other kind of type like "int" types. TotalView depends on 
the DW_AT_byte_size attribute to get the enum's byte length, and the 
DW_AT_encoding (if present) to determine the enum's signed-ness. It currently 
ignore any DW_AT_type attribute for enums.

Clearly, TotalView will need to change to accommodate DW_AT_type attributes in 
enum types, and I think we could also deal with a missing DW_AT_byte_size 
attribute *if* there is a DW_AT_type attribute that reference a valid type with 
a byte length.

Cheers, John D.


Mark Wielaard wrote:
> Hi,
> 
> I was adding the underlying type to an enumeration in a DWARF producer
> (GCC) and wanted to drop the DW_AT_byte_size in case we have such an
> underlying DW_AT_type. Since it looks redundant in that case. The
> DW_AT_byte_size of the DW_TAG_enumeration should be equal to the size of
> the underlying type if given. Or am I missing some subtle case were that
> isn't/cannot be so?
> 
> But the language of 5.7 Enumeration Type Entries isn't so clear that can
> be done. Although it says "may have a DW_AT_type attribute", it does
> imply that a DW_AT_byte_size must be given (by not saying "may"): "This
> entry also has a DW_AT_byte_size attribute".
> 
> Am I reading that too strictly? Or should I propose wording to make
> clear that the DW_AT_byte_size is optional if a DW_AT_type has been
> given (and only drop the redundant DW_AT_byte_size for DWARF5+ if such
> wording is accepted)?
> 
> I did check with at least one consumer (libabigail) that dropping the
> DW_AT_byte_size would require some code updates, but they were not
> opposed to just doing that.
> 
> Thanks,
> 
> Mark
> 
> _______________________________________________
> Dwarf-Discuss mailing list
> Dwarf-Discuss@lists.dwarfstd.org
> http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org
> 
_______________________________________________
Dwarf-Discuss mailing list
Dwarf-Discuss@lists.dwarfstd.org
http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org

Reply via email to