[Dwarf-Discuss] Inconsistency in DWARF length escape codes
Fri Jan 4 08:59:03 GMT 2008
There appears to be an inconsistency in the DWARF3 specification for the
range of values that can be used as escape codes in the initial 4-byte length
field of some headers:
In section 7.2.2 (Initial Length Values) on page 120 of the DWARF3 spec
(published Dec 20, 2005 and downloaded from http://dwarfstd.org) it says:
"In an initial length field, the values 0xfffffff0 through
0xffffffff are reserved by DWARF to indicate some form of
extension relative to DWARF Version 2; such values must
not be interpreted as a length field."
Note that the start value has seven 'f's and only one 0. On the next page
however (Section 7.4 32-Bit and 64-Bit DWARF Formats) in item 1 it says:
"In the 32-bit DWARF format, an initial length field (see
Section 7.2.2) is an unsigned 32-bit integer (which must
be less than 0xffffff00);"
This time the reserved value has six 'f's and two 0's. This smaller value is
also referred to in Section 7.5.1, Section 7.19 and Section 7.20.
It would appear that Section 7.2.2 contains a typo and that the lower reserved
value ought to be 0xffffff00. On the other hand is there really a need for
256 escape codes ? Maybe the other sections are wrong and their lower limits
should be changed to 0xfffffff0 ?
What do you think ?
More information about the Dwarf-discuss