X-Git-Url: https://git.siccegge.de//index.cgi?p=frida%2Ffrida.git;a=blobdiff_plain;f=src%2Fdisassembler%2Fllvm%2FLLVMDisassembler.cxx;h=abfafa48e61d566de36c3b8879c555de84290561;hp=773a5189a27a33d35085da9f698864970b3ac9ec;hb=ccde95277ce5e3929d09aef387c2f5956592d066;hpb=0daf9a157f3d41690cf4a0287db1adecc4ad0b71 diff --git a/src/disassembler/llvm/LLVMDisassembler.cxx b/src/disassembler/llvm/LLVMDisassembler.cxx index 773a518..abfafa4 100644 --- a/src/disassembler/llvm/LLVMDisassembler.cxx +++ b/src/disassembler/llvm/LLVMDisassembler.cxx @@ -48,7 +48,7 @@ template LLVMDisassembler::LLVMDisassembler(const std::string& filename, InformationManager* manager, ELFObjectFile* file) - : Disassembler(filename, manager) + : Disassembler() , logger(log4cxx::Logger::getLogger("LLVMDisassembler")) , triple("unknown-unknown-unknown") , manager(manager) @@ -335,10 +335,12 @@ void LLVMDisassembler::disassemble() { disassembleFunctionAt(_entryAddress, s.str()); } - uint64_t text_entry; - text_section.getAddress(text_entry); - LOG4CXX_INFO(logger, "No Symbols found, starting at the beginning of the text segment"); - disassembleFunctionAt(text_entry); + if (!manager->hasFunctions()) { + uint64_t text_entry; + text_section.getAddress(text_entry); + LOG4CXX_INFO(logger, "No Symbols found, starting at the beginning of the text segment"); + disassembleFunctionAt(text_entry); + } } template