>
> 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?
>

I'm pretty sure it was meant to be a reference to the index entry, not the
name table entry. It looks like the mistake in Table 6.1 dates all the way
back to the first version of the proposal. I'll file this as a new issue
for the committee to discuss.

-cary

>
> 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
>
-- 
Dwarf-discuss mailing list
Dwarf-discuss@lists.dwarfstd.org
https://lists.dwarfstd.org/mailman/listinfo/dwarf-discuss

Reply via email to