[Dwarf-Discuss] What is a byte's size?
Robinson, Paul T NonStop
Mon Jul 21 16:12:20 GMT 2008
>The DWARF3 standard defines:
> A base type entry has a DW_AT_byte_size attribute, whose value (see Section
> 2.19) is the size in bytes of the storage unit used to represent an object of
> the given type.
>The phrase 'bytes of the storage unit used' to me explains that the size of a
>byte depends on the architecture and thus is not an 8-bit entity by
>definition. Unfortunately, the DWARF document nowhere gives an explanation of
>the term 'byte'.
This appears to be an ambiguity in how to interpret the English words of the
standard. The choice is between:
...the size (in bytes-of-the-storage-unit) used...
where bytes-of-the-storage-unit implies a target-architecture-dependent unit;
...the size (in bytes) of the storage unit [quantity of memory] used...
where "bytes" is nearly but not quite universally understood to mean the
traditional one-character storage size which has long been defined as 8 bits.
Having "grown up" on a 36-bit word-addressed machine (the PDP-10) that did
not have a fixed byte size (although 7 bits was most common), I am familiar
with the tension between "byte" size and "addressable-unit" size. But these
days "byte" pretty much always means the traditional character-sized unit,
and Michael Eager explained how the standard uses 'storage unit'. So, the
standard ought to be interpreted the second way. I think the only reason
it bothers to say "size in bytes" is to make it clear we don't want it to
be "size in bits" but doesn't imply anything architecture-dependent.
More information about the Dwarf-discuss