diff options
author | Greg Clayton <gclayton@apple.com> | 2010-09-14 23:36:40 +0000 |
---|---|---|
committer | Greg Clayton <gclayton@apple.com> | 2010-09-14 23:36:40 +0000 |
commit | f5e56de0809eec71d97f4cc5905f8bd0a4415a50 (patch) | |
tree | 5c006894db84ba365b2371957a092dd51dd0ee9f /lldb/source/Core/Disassembler.cpp | |
parent | 5f2311dc29c5182b3b5dc07fc5d01ac25eeec877 (diff) | |
download | bcm5719-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.cpp | 16 |
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) |