In Section 6.1.1.2, the parent index entry attribute is described as: Parent debugging information entry, a reference to the index entry for the parent. This is represented as the offset of the entry relative to the start of the entry pool.
But in Table 6.1, DW_IDX_parent is described as: Index of name table entry for parent These two seem to contradict each other. The first one makes more sense, as it points to a specific index entry, making it non-ambiguous. With the second one, pointing to an name table entry, how to you know which of the (possibly multiple) entries associated to that name is the parent? Is is just an honest mistake that should be fixed, or am I missing something? This caused confusion with the LLVM team here, where it was believed that either meaning was acceptable: https://discourse.llvm.org/t/rfc-improve-dwarf-5-debug-names-type-lookup-parsing-speed/74151/16 In the end, LLVM implemented the "offset to the index entry" approach. Unfortunately, GDB implemented the "name table index" approach (but Tom Tromey noted that it was a curious choice on the part of DWARF, because of the ambiguousness, I guess he only saw the Table 6.1 definition). However, I believe it should be possible to migrate to the other approach, and differentiate which approach is used using the form, on the reader side. Simon -- Dwarf-discuss mailing list Dwarf-discuss@lists.dwarfstd.org https://lists.dwarfstd.org/mailman/listinfo/dwarf-discuss