Resolved two problems in the disassembler:
- Addresses with no description were given
comments, leading to useless comments like
"; , "
- Addresses weren't resolved with respect
to the correct module.
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153274 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp b/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
index 2666475..87b8153 100644
--- a/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
+++ b/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
@@ -620,10 +620,11 @@
if (target)
{
- if (!target->GetSectionLoadList().IsEmpty())
- target->GetSectionLoadList().ResolveLoadAddress(ReferenceValue, reference_address);
- else
- target->GetImages().ResolveFileAddress(ReferenceValue, reference_address);
+ if (!target->GetSectionLoadList().ResolveLoadAddress(ReferenceValue, reference_address))
+ {
+ if (ModuleSP module_sp = m_inst->GetAddress().GetModule())
+ module_sp->ResolveFileAddress(ReferenceValue, reference_address);
+ }
if (reference_address.IsValid() && reference_address.GetSection())
{
@@ -634,7 +635,8 @@
Address::DumpStyleResolvedDescriptionNoModule,
Address::DumpStyleSectionNameOffset);
- m_inst->AddReferencedAddress(ss.GetString());
+ if (!ss.GetString().empty())
+ m_inst->AddReferencedAddress(ss.GetString());
}
}
}