X-Git-Url: https://git.siccegge.de//index.cgi?p=frida%2Ffrida.git;a=blobdiff_plain;f=src%2Fdisassembler%2Fllvm%2FLLVMDisassembler.cxx;h=287d6a06d05e3049d9ea3211ddf21b55e0457ae9;hp=7bce1cf6ab2107d4ff9d237149919769b8431a0f;hb=08210442ccd43d49a5799cada9997e04a352f38b;hpb=f5b948bf38d8757f4e9a0d7af4edaa4a6fffec27 diff --git a/src/disassembler/llvm/LLVMDisassembler.cxx b/src/disassembler/llvm/LLVMDisassembler.cxx index 7bce1cf..287d6a0 100644 --- a/src/disassembler/llvm/LLVMDisassembler.cxx +++ b/src/disassembler/llvm/LLVMDisassembler.cxx @@ -121,6 +121,9 @@ LLVMDisassembler::~LLVMDisassembler() { }); } +/* + * TODO: If we jump into some Basic Block we need to split it there into two + */ void LLVMDisassembler::disassemble() { std::stack remaining_functions; std::stack remaining_blocks; @@ -131,9 +134,6 @@ void LLVMDisassembler::disassemble() { bool contains; SymbolRef::Type symbol_type; -/* - * TODO: If we jump into some Basic Block we need to split it there into two - */ if (text_section.containsSymbol(x->second, contains) || !contains) continue; @@ -222,6 +222,7 @@ void LLVMDisassembler::disassemble() { LLVMBasicBlock * block = new LLVMBasicBlock(jmptarget); blocks.insert(std::make_pair(block->getStartAddress(), block)); remaining_blocks.push(new LLVMBasicBlock(jmptarget)); + } } } } @@ -235,7 +236,6 @@ void LLVMDisassembler::disassemble() { current_block->setEndAddress(current_address + base_address); LOG4CXX_DEBUG(logger, "Finished Block at " << std::hex << current_block->getEndAddress()); - } break; } current_address += inst_size;