DWARF Debugging Format DWARF Debugging Standard Wiki

DWARF5 Errata

Describing typographical errors or ambiguities in the DWARF5 Standard (released in 2017). ISSUE refers to the numbered ISSUES page on dwarfstd.org

Created 2021-10-08

Hopefully complete, but corrections and addtions are always possible.

See also DWARF5 Clarifications.

Section 1, Page 1

ISSUE 200505.1

Delete the accidental word unittype.

Section DW_OP_piece clarification pg 42

ISSUE 181205.1

Add the following normative text to

A composition operation that follows an empty location description indicates that the piece is undefined, for example because it has been optimized away.

Section 3.2.5 DW_AT_import description Page 74 line 21


a reference to the normal or partial compilation unit whose declarations logically belong at the place of the imported unit entry.

Replace normal or partial compilation unit with normal or partial compilation unit entry.

Section 3.9 Declarations with Reduced Scope Page 94 line 26.

ISSUE 200505.7

b) If the address range of the containing scope is non-contiguous (see 2.17.3 on page 52) the value of this attribute is the offset in bytes of the beginning of the address range for the scope of the entity from the beginning of the first range list entry for the containing scope that is not a base address entry, a default location entry or an end-of-list entry.

The phrase , a default location entry should be removed, it does not apply here.

Section 6.1.1 Lookup By Name. Page 136. Line 34 (last line of the page).

ISSUE 200505.2

index that covers the entire load module.

Replace ‘load module’ by ‘module’.

Comment: Load module is a term that is no longer in common use.

Section Section Header (.debug_names) page 144 lines 5-10

ISSUE 200505.4

11. Augmentation_string...

A vendor-specific augmentation string, which provides additional information about the contents of this index. ... The string is padded with null characters to a multiple of four bytes in length.

The field is best thought of as a sequence of bytes with the length given in the augmentation_string_size field.

The four character vendor ID is best though of as a four byte vendor ID, there was no intent to allow multi-byte characters as the vendor ID.

Section text error Page 145 line 16

ISSUE 210218.1

Following name, as it appears in the source code, should be stored in the name table one sees: name table.name index!case folding

which is a result of a mistyped document indexing command.

Section 6.2.2 State Machine Registers Page 152

ISSUE 200505.6

Register Name: discriminator:

Where only one block exists for a given source position, the discriminator value is be zero.

Replace is be with ‘is’.

Section 6.2.4 Line Number Program Header page 156 line 27

ISSUE 180914.1

15. directories_count (ULEB128) A count of the number of entries that occur in the following directories field,

A note that this is new in DWARF5 was accidentally omitted. Such note will not appear in DWARF6, such notes are only for the first time an item appears.

Section 7.4 .debug_rnglists,.debug_loclists Page 198 line 11

ISSUE 210622.1

offsets the follow the header

should be

offsets that follow the header

Section 7.4 section headers 32/64bit Page 198 line 14,15

ISSUE 180326.1

“The 32-bit and 64-bit DWARF format conventions must not be intermixed within a single compilation unit.”

This belongs belongs on page 196 as it’s a requirement for all headers within a single compilation unit.

Section 7.5.3, Table 7.3 0xffff rendered in tables Page 206

ISSUE 180613.1

“DW_TAG_hi_user 0x f f f f

The value is meant to be 0xffff

And similar for Table 7.5

“DW_AT_hi_user 0x3 f f f

The value is meant to be 0x3fff

Section 7.5 DW_AT_call_origin class page 211

Table 7.5: Attribute encodings ISSUE 171103.1

“DW_AT_call_origin 0x7f class exprloc

is incorrect. It should be

“DW_AT_call_origin 0x7f class reference

Section E.3.2 file-designator description Page 388 lines 22-24

ISSUE 171130.1

“References to other .debug_info sections follow the approach suggested above, but the naming rule is slightly different in that the <file-designator> should be interpreted as a <file-designator>.”

The final hyphenated word “<file-designator>” should be “<function-designator>”.

dwarfstd.org is supported by Sourceware. Contributions are welcome.

All logos and trademarks in this site are property of their respective owner.
The comments are property of their posters, all the rest © 2007-2022 by DWARF Standards Committee.