diff options
| author | Greg Clayton <gclayton@apple.com> | 2016-06-02 17:19:39 +0000 |
|---|---|---|
| committer | Greg Clayton <gclayton@apple.com> | 2016-06-02 17:19:39 +0000 |
| commit | 93c99cf05911af9846ac2482080930ebfde0702a (patch) | |
| tree | a40023149caefd936e3a8abfd630c40792f5ee9e | |
| parent | 1180e689b6e97d1fd32642c41be6ef36b5cf18c1 (diff) | |
| download | bcm5719-llvm-93c99cf05911af9846ac2482080930ebfde0702a.tar.gz bcm5719-llvm-93c99cf05911af9846ac2482080930ebfde0702a.zip | |
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
llvm-svn: 271543
| -rw-r--r-- | lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp index a67f72ba50d..a0fc2372251 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp @@ -1769,6 +1769,12 @@ SymbolFileDWARF::GetDIE (const DIERef &die_ref) 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; |

