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
This commit is contained in:
Greg Clayton 2016-06-02 17:19:39 +00:00
parent 1180e689b6
commit 93c99cf059
1 changed files with 6 additions and 0 deletions

View File

@ -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;