Skip to content

Commit a8b50db

Browse files
committed
Check m_dyld_up directly in LoadBinariesViaMetadata
In the restructuring I did in https://reviews.llvm.org/D133680 , I call ObjectFile::LoadBinariesViaMetadata, and the process m_dyld may be set by a method under there -- in ProcessMachCore::LoadBinariesViaMetadata I wanted to check to see if m_dyld_up had been set. I did this by calling the GetDynamicLoader() method, but that method will call FindPlugin() if there is no dynamic loader yet, and the static dynamic loader plugin was being loaded, preventing the scan for userland binaries in a userland corefile. Differential Revision: https://reviews.llvm.org/D137807 rdar://102210820 (cherry picked from commit 48321ee)
1 parent aa89109 commit a8b50db

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -327,9 +327,11 @@ void ProcessMachCore::LoadBinariesViaMetadata() {
327327
// corefile
328328
core_objfile->LoadCoreFileImages(*this);
329329

330-
// LoadCoreFileImges may have set the dynamic loader; if we now have
331-
// a dynamic loader, save its name so we don't un-set it later.
332-
if (GetDynamicLoader())
330+
// LoadCoreFileImges may have set the dynamic loader, e.g. in
331+
// PlatformDarwinKernel::LoadPlatformBinaryAndSetup().
332+
// If we now have a dynamic loader, save its name so we don't
333+
// un-set it later.
334+
if (m_dyld_up)
333335
m_dyld_plugin_name = GetDynamicLoader()->GetPluginName();
334336
}
335337

0 commit comments

Comments
 (0)