This revision was automatically updated to reflect the committed changes. Closed by commit rL308850: Fix PR33875 by distinguishing between DWO and clang modules (authored by adrian).
Changed prior to commit: https://reviews.llvm.org/D35740?vs=107734&id=107836#toc Repository: rL LLVM https://reviews.llvm.org/D35740 Files: lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/gmodules/TestWithModuleDebugging.py lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp Index: lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp =================================================================== --- lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp +++ lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp @@ -61,6 +61,12 @@ } DWARFCompileUnit *SymbolFileDWARFDwo::GetCompileUnit() { + // A clang module is found via a skeleton CU, but is not a proper DWO. + // Clang modules have a .debug_info section instead of the *_dwo variant. + if (auto *section_list = m_obj_file->GetSectionList(false)) + if (section_list->FindSectionByType(eSectionTypeDWARFDebugInfo, true)) + return nullptr; + // Only dwo files with 1 compile unit is supported if (GetNumCompileUnits() == 1) return DebugInfo()->GetCompileUnitAtIndex(0); Index: lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/gmodules/TestWithModuleDebugging.py =================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/gmodules/TestWithModuleDebugging.py +++ lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/gmodules/TestWithModuleDebugging.py @@ -9,8 +9,6 @@ mydir = TestBase.compute_mydir(__file__) - @expectedFailureAll(bugnumber="llvm.org/pr33875", oslist=["linux"], - compiler="clang", compiler_version=[">", "6.0"]) @add_test_categories(["gmodules"]) def test_specialized_typedef_from_pch(self): self.build()
Index: lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp =================================================================== --- lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp +++ lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp @@ -61,6 +61,12 @@ } DWARFCompileUnit *SymbolFileDWARFDwo::GetCompileUnit() { + // A clang module is found via a skeleton CU, but is not a proper DWO. + // Clang modules have a .debug_info section instead of the *_dwo variant. + if (auto *section_list = m_obj_file->GetSectionList(false)) + if (section_list->FindSectionByType(eSectionTypeDWARFDebugInfo, true)) + return nullptr; + // Only dwo files with 1 compile unit is supported if (GetNumCompileUnits() == 1) return DebugInfo()->GetCompileUnitAtIndex(0); Index: lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/gmodules/TestWithModuleDebugging.py =================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/gmodules/TestWithModuleDebugging.py +++ lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/gmodules/TestWithModuleDebugging.py @@ -9,8 +9,6 @@ mydir = TestBase.compute_mydir(__file__) - @expectedFailureAll(bugnumber="llvm.org/pr33875", oslist=["linux"], - compiler="clang", compiler_version=[">", "6.0"]) @add_test_categories(["gmodules"]) def test_specialized_typedef_from_pch(self): self.build()
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits