labath wrote:

> What is "nameless index entry"? I don't quite understand from the spec.

```
It is possible that an indexed debugging information entry has a parent that is
not indexed (for example, if its parent does not have a name attribute). In 
such a
case, a parent attribute may point to a nameless index entry (that is, one that
cannot be reached from any entry in the name table), or it may point to the
nearest ancestor that does have an index entry.
```

My interpretation of this paragraph is that we're allowed to insert extra 
"floating" entries into the debug_names table. Such entries must not be 
reachable from the hash or name tables, but they can be referred to via 
DW_IDX_parent_entry attributes of other (reachable) entries.

Using Greg's example from 
https://github.com/llvm/llvm-project/pull/91808#issue-2290404282, I believe we 
could add a debug_names entry for `std::ios_base` (and refer to it from the 
entry for `std::ios_base::seekdir`), as long as the ios_base entry was not 
present in any of the name tables.

https://github.com/llvm/llvm-project/pull/91808
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to