[Lldb-commits] [lldb] Improve performance of .debug_names lookups when DW_IDX_parent attributes are used (PR #91808)
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Tue May 21 03:32:30 PDT 2024
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
More information about the lldb-commits
mailing list