[Lldb-commits] [lldb] r271543 - Fixed a problem where -gmodules debug info would be loaded by the DWO file support accidentally and cause 1000s of files to be mapped into LLDB's address space for each .o file that reference a module.

Greg Clayton via lldb-commits lldb-commits at lists.llvm.org
Thu Jun 2 10:19:39 PDT 2016


Author: gclayton
Date: Thu Jun  2 12:19:39 2016
New Revision: 271543

URL: http://llvm.org/viewvc/llvm-project?rev=271543&view=rev
Log:
Fixed a problem where -gmodules debug info would be loaded by the DWO file support accidentally and cause 1000s of files to be mapped into LLDB's address space for each .o file that reference a module.

<rdar://problem/26580266> -gmodules causes LLDB.framework to map hundreds of copies of the same .pcm file

Modified:
    lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp

Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp?rev=271543&r1=271542&r2=271543&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp (original)
+++ lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp Thu Jun  2 12:19:39 2016
@@ -1769,6 +1769,12 @@ SymbolFileDWARF::GetDIE (const DIERef &d
 std::unique_ptr<SymbolFileDWARFDwo>
 SymbolFileDWARF::GetDwoSymbolFileForCompileUnit(DWARFCompileUnit &dwarf_cu, const DWARFDebugInfoEntry &cu_die)
 {
+    // If we are using a dSYM file, we never want the standard DWO files since
+    // the -gmodule support uses the same DWO machanism to specify full debug
+    // info files for modules.
+    if (GetDebugMapSymfile())
+        return nullptr;
+
     const char *dwo_name = cu_die.GetAttributeValueAsString(this, &dwarf_cu, DW_AT_GNU_dwo_name, nullptr);
     if (!dwo_name)
         return nullptr;




More information about the lldb-commits mailing list