[all-commits] [llvm/llvm-project] 9677e8: [lldb/dwarf] Fix DW_IDX_parent processing for spli...

Pavel Labath via All-commits all-commits at lists.llvm.org
Tue May 21 03:46:21 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9677e8171c19f1a15c0234724f083bc9473c545a
      https://github.com/llvm/llvm-project/commit/9677e8171c19f1a15c0234724f083bc9473c545a
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
    M lldb/test/API/lang/cpp/limit-debug-info/Makefile
    M lldb/test/API/lang/cpp/limit-debug-info/TestWithLimitDebugInfo.py
    M lldb/test/API/lang/cpp/limit-debug-info/base.cpp
    M lldb/test/API/lang/cpp/limit-debug-info/base.h
    M lldb/test/API/lang/cpp/limit-debug-info/derived.cpp
    M lldb/test/API/lang/cpp/limit-debug-info/derived.h
    M lldb/test/API/lang/cpp/limit-debug-info/main.cpp
    M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp

  Log Message:
  -----------
  [lldb/dwarf] Fix DW_IDX_parent processing for split dwarf (#92745)

DWARFDebugInfo only knows how to resolve references in its own file, but
in split dwarf, the index entries will refer to DIEs in the separate
(DWO) file. To resolve the DIERef correctly we'd either need to go
through the SymbolFileDWARF to get the full logic for resolving a
DIERef, or use the fact that ToDIERef already looks up the correct unit
while computing its result.

This patch does the latter.

This bug manifested itself in not being able to find type definitions
for types in namespaces, so I've modified one of our type resolving test
cases to run with debug_names, and added a namespaced class into it (it
originally contained only a top-level class).



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list