summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/Disassembler.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2010-09-14 23:36:40 +0000
committerGreg Clayton <gclayton@apple.com>2010-09-14 23:36:40 +0000
commitf5e56de0809eec71d97f4cc5905f8bd0a4415a50 (patch)
tree5c006894db84ba365b2371957a092dd51dd0ee9f /lldb/source/Core/Disassembler.cpp
parent5f2311dc29c5182b3b5dc07fc5d01ac25eeec877 (diff)
downloadbcm5719-llvm-f5e56de0809eec71d97f4cc5905f8bd0a4415a50.tar.gz
bcm5719-llvm-f5e56de0809eec71d97f4cc5905f8bd0a4415a50.zip
Moved the section load list up into the target so we can use the target
to symbolicate things without the need for a valid process subclass. llvm-svn: 113895
Diffstat (limited to 'lldb/source/Core/Disassembler.cpp')
-rw-r--r--lldb/source/Core/Disassembler.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/lldb/source/Core/Disassembler.cpp b/lldb/source/Core/Disassembler.cpp
index 18786bd05ed..40d8d300682 100644
--- a/lldb/source/Core/Disassembler.cpp
+++ b/lldb/source/Core/Disassembler.cpp
@@ -155,17 +155,19 @@ Disassembler::Disassemble
// try and resolve it to something
if (range.GetBaseAddress().IsSectionOffset() == false)
{
- if (process && process->IsAlive())
+ if (exe_ctx.target)
{
- process->ResolveLoadAddress (range.GetBaseAddress().GetOffset(), range.GetBaseAddress());
- }
- else if (exe_ctx.target)
- {
- exe_ctx.target->GetImages().ResolveFileAddress (range.GetBaseAddress().GetOffset(), range.GetBaseAddress());
+ if (exe_ctx.target->GetSectionLoadList().IsEmpty())
+ {
+ exe_ctx.target->GetImages().ResolveFileAddress (range.GetBaseAddress().GetOffset(), range.GetBaseAddress());
+ }
+ else
+ {
+ exe_ctx.target->GetSectionLoadList().ResolveLoadAddress (range.GetBaseAddress().GetOffset(), range.GetBaseAddress());
+ }
}
}
-
DataExtractor data;
size_t bytes_disassembled = disassembler->ParseInstructions (&exe_ctx, range, data);
if (bytes_disassembled == 0)
OpenPOWER on IntegriCloud