diff options
author | Tatyana Krasnukha <tatyana@synopsys.com> | 2018-06-22 12:24:57 +0000 |
---|---|---|
committer | Tatyana Krasnukha <tatyana@synopsys.com> | 2018-06-22 12:24:57 +0000 |
commit | a0fa299d68f4694629c641b0a690a247279ca1a6 (patch) | |
tree | 7d0dfdb3fa4977176e817004706ff496bd9251d8 /lldb/source/Core/Disassembler.cpp | |
parent | 4cd698b0d180faa0f32cc35c0ac39b6680472ace (diff) | |
download | bcm5719-llvm-a0fa299d68f4694629c641b0a690a247279ca1a6.tar.gz bcm5719-llvm-a0fa299d68f4694629c641b0a690a247279ca1a6.zip |
ResolveAddress: check returned value of resolving functions.
llvm-svn: 335341
Diffstat (limited to 'lldb/source/Core/Disassembler.cpp')
-rw-r--r-- | lldb/source/Core/Disassembler.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/lldb/source/Core/Disassembler.cpp b/lldb/source/Core/Disassembler.cpp index 7fa72f60ccf..bd949ea6fe9 100644 --- a/lldb/source/Core/Disassembler.cpp +++ b/lldb/source/Core/Disassembler.cpp @@ -112,14 +112,15 @@ static void ResolveAddress(const ExecutionContext &exe_ctx, const Address &addr, // it to something Target *target = exe_ctx.GetTargetPtr(); if (target) { - if (target->GetSectionLoadList().IsEmpty()) { - target->GetImages().ResolveFileAddress(addr.GetOffset(), resolved_addr); - } else { - target->GetSectionLoadList().ResolveLoadAddress(addr.GetOffset(), - resolved_addr); - } + bool is_resolved = + target->GetSectionLoadList().IsEmpty() ? + target->GetImages().ResolveFileAddress(addr.GetOffset(), + resolved_addr) : + target->GetSectionLoadList().ResolveLoadAddress(addr.GetOffset(), + resolved_addr); + // We weren't able to resolve the address, just treat it as a raw address - if (resolved_addr.IsValid()) + if (is_resolved && resolved_addr.IsValid()) return; } } |