Clean up conditional, don't set load binaries twice
Follow Alex Langford's feedback to my patch from https://reviews.llvm.org/D145547 , and fix a side issue I noticed while testing this, where binaries loaded via LC_NOTE metadata were loaded in the Target twice unnecessarily.
This commit is contained in:
parent
0f2f378425
commit
8db8a4e8ed
@ -812,11 +812,10 @@ bool DynamicLoaderDarwinKernel::KextImageInfo::LoadImageUsingMemoryModule(
|
||||
}
|
||||
}
|
||||
|
||||
if (m_module_sp && m_uuid.IsValid() && m_module_sp->GetUUID() == m_uuid) {
|
||||
ObjectFileMachO *ondisk_objfile_macho =
|
||||
llvm::dyn_cast_or_null<ObjectFileMachO>(
|
||||
m_module_sp ? m_module_sp->GetObjectFile() : nullptr);
|
||||
if (ondisk_objfile_macho) {
|
||||
if (m_module_sp && m_uuid.IsValid() && m_module_sp->GetUUID() == m_uuid &&
|
||||
m_module_sp->GetObjectFile()) {
|
||||
if (ObjectFileMachO *ondisk_objfile_macho =
|
||||
llvm::dyn_cast<ObjectFileMachO>(m_module_sp->GetObjectFile())) {
|
||||
if (!IsKernel() && !ondisk_objfile_macho->IsKext()) {
|
||||
// We have a non-kext, non-kernel binary. If we already have this
|
||||
// loaded in the Target with load addresses, don't re-load it again.
|
||||
|
||||
@ -7032,6 +7032,8 @@ bool ObjectFileMachO::LoadCoreFileImages(lldb_private::Process &process) {
|
||||
&process, image.filename, image.uuid, image.load_address,
|
||||
false /* value_is_offset */, image.currently_executing,
|
||||
false /* notify */);
|
||||
if (module_sp)
|
||||
continue;
|
||||
}
|
||||
|
||||
// If we have a slide, we need to find the original binary
|
||||
@ -7042,6 +7044,8 @@ bool ObjectFileMachO::LoadCoreFileImages(lldb_private::Process &process) {
|
||||
&process, image.filename, image.uuid, image.slide,
|
||||
true /* value_is_offset */, image.currently_executing,
|
||||
false /* notify */);
|
||||
if (module_sp)
|
||||
continue;
|
||||
}
|
||||
|
||||
// Try to find the binary by UUID or filename on the local
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user