X-Git-Url: https://git.siccegge.de//index.cgi?p=frida%2Ffrida.git;a=blobdiff_plain;f=src%2Fdisassembler%2Fllvm%2FLLVMDisassembler.hxx;h=d00381b7ed962862c8be6e26008cdf94d06f9da8;hp=95e961fb5656804ef745e4dc073ed496a41fe7ff;hb=0daf9a157f3d41690cf4a0287db1adecc4ad0b71;hpb=6375df7c896a8a0e4be6959392848f28b021073c diff --git a/src/disassembler/llvm/LLVMDisassembler.hxx b/src/disassembler/llvm/LLVMDisassembler.hxx index 95e961f..d00381b 100644 --- a/src/disassembler/llvm/LLVMDisassembler.hxx +++ b/src/disassembler/llvm/LLVMDisassembler.hxx @@ -8,11 +8,9 @@ #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; Disassembler * createLLVMDisassembler(const std::string& filename, InformationManager* manager); @@ -28,15 +26,10 @@ public: void getSymbols() {} uint64_t entryAddress() {return _entryAddress;} - void forEachFunction(std::function callback); void printEachInstruction(uint64_t start, uint64_t end, std::function fun); - BasicBlock * getBasicBlock(uint64_t address) { - return blocks[address]; - } - Function * disassembleFunctionAt(uint64_t address, const std::string& name = ""); protected: @@ -47,8 +40,8 @@ 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(); @@ -56,8 +49,6 @@ private: void readDynamicSymbols(); log4cxx::LoggerPtr logger; - std::map blocks; - std::map functions; llvm::Triple triple; std::shared_ptr binary;