summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2012-03-22 20:04:23 +0000
committerSean Callanan <scallanan@apple.com>2012-03-22 20:04:23 +0000
commit745af46e2f869a1bd48b94864eec3935958cf48a (patch)
tree5cfa46e51a70bb1b535d6864652c1b861086e182 /lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
parentd45a9c32c2ad1311c0131d8754bccf8b11c14e0a (diff)
downloadbcm5719-llvm-745af46e2f869a1bd48b94864eec3935958cf48a.tar.gz
bcm5719-llvm-745af46e2f869a1bd48b94864eec3935958cf48a.zip
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. llvm-svn: 153274
Diffstat (limited to 'lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp')
-rw-r--r--lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
index 2666475adcb..87b81535ce2 100644
--- a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
+++ b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
@@ -620,10 +620,11 @@ const char *DisassemblerLLVMC::SymbolLookup (uint64_t ReferenceValue,
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 @@ const char *DisassemblerLLVMC::SymbolLookup (uint64_t ReferenceValue,
Address::DumpStyleResolvedDescriptionNoModule,
Address::DumpStyleSectionNameOffset);
- m_inst->AddReferencedAddress(ss.GetString());
+ if (!ss.GetString().empty())
+ m_inst->AddReferencedAddress(ss.GetString());
}
}
}
OpenPOWER on IntegriCloud