X-Git-Url: https://git.siccegge.de//index.cgi?p=frida%2Ffrida.git;a=blobdiff_plain;f=src%2Fdisassembler%2Fllvm%2FLLVMDisassembler.hxx;h=2713ac6f32f561df00e252a53b0678c4fe6cc4d9;hp=6c8767aa1a2bc7b55cb116408446504c109ef513;hb=bc36ee5d21eac1d9bd1ab1c2e7003101dbbec604;hpb=879c174dd56331b6c7b3254edd115e46a0b5e78c diff --git a/src/disassembler/llvm/LLVMDisassembler.hxx b/src/disassembler/llvm/LLVMDisassembler.hxx index 6c8767a..2713ac6 100644 --- a/src/disassembler/llvm/LLVMDisassembler.hxx +++ b/src/disassembler/llvm/LLVMDisassembler.hxx @@ -8,11 +8,10 @@ #include "include_llvm.hxx" #include "disassembler/Disassembler.hxx" -#include "disassembler/BasicBlock.hxx" -#include "disassembler/Function.hxx" -#include "disassembler/llvm/LLVMBasicBlock.hxx" -#include "disassembler/llvm/LLVMFunction.hxx" +class Function; +class BasicBlock; +class LLVMBasicBlock; Disassembler * createLLVMDisassembler(const std::string& filename, InformationManager* manager); @@ -44,17 +43,20 @@ protected: bool isJump(uint64_t address) {return false;} private: + typedef llvm::object::ELFFile ELFO; + // http://llvm.org/docs/doxygen/html/MCObjectDisassembler_8cpp_source.html +197 - void disassembleFunction(LLVMFunction* function); - void splitBlocks(LLVMFunction* fun); + void disassembleFunction(Function* function); + void splitBlocks(Function* fun); void disassemble(); void readSymbols(); void readSections(); + void readDynamicSymbols(); log4cxx::LoggerPtr logger; std::map blocks; - std::map functions; + std::map functions; llvm::Triple triple; std::shared_ptr binary;