diff options
author | Greg Clayton <gclayton@apple.com> | 2010-06-30 23:03:03 +0000 |
---|---|---|
committer | Greg Clayton <gclayton@apple.com> | 2010-06-30 23:03:03 +0000 |
commit | dda4f7b520827fb1cce38dbef9a00758067df99a (patch) | |
tree | 622c1e19dfdda4764cb606030d83e030c22a92e0 /lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVM.h | |
parent | 56f2e34a6a0810f28fa4d7ab171a9e12415e29a3 (diff) | |
download | bcm5719-llvm-dda4f7b520827fb1cce38dbef9a00758067df99a.tar.gz bcm5719-llvm-dda4f7b520827fb1cce38dbef9a00758067df99a.zip |
Centralized all disassembly into static functions in source/Core/Disassembler.cpp.
Added the ability to read memory from the target's object files when we aren't
running, so disassembling works before you run!
Cleaned up the API to lldb_private::Target::ReadMemory().
Cleaned up the API to the Disassembler to use actual "lldb_private::Address"
objects instead of just an "addr_t". This is nice because the Address objects
when resolved carry along their section and module which can get us the
object file. This allows Target::ReadMemory to be used when we are not
running.
Added a new lldb_private::Address dump style: DumpStyleDetailedSymbolContext
This will show a full breakdown of what an address points to. To see some
sample output, execute a "image lookup --address <addr>".
Fixed SymbolContext::DumpStopContext(...) to not require a live process in
order to be able to print function and symbol offsets.
llvm-svn: 107350
Diffstat (limited to 'lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVM.h')
-rw-r--r-- | lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVM.h | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVM.h b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVM.h index 98166cb558c..7116e595233 100644 --- a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVM.h +++ b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVM.h @@ -32,10 +32,10 @@ public: void Dump (lldb_private::Stream *s, - lldb::addr_t base_address, - lldb_private::DataExtractor *bytes, + lldb_private::Address *instr_addr_ptr, + const lldb_private::DataExtractor *bytes, uint32_t bytes_offset, - const lldb_private::ExecutionContext exe_ctx, + const lldb_private::ExecutionContext& exe_ctx, bool raw); bool @@ -78,11 +78,10 @@ public: ~DisassemblerLLVM(); size_t - ParseInstructions (const lldb_private::DataExtractor& data, - uint32_t data_offset, - uint32_t num_instructions, - lldb::addr_t base_addr); - + DecodeInstructions (const lldb_private::DataExtractor& data, + uint32_t data_offset, + uint32_t num_instructions); + //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ |