LLVMDisassembler<ELFT>::LLVMDisassembler(const std::string& filename,
InformationManager* manager,
ELFObjectFile<ELFT>* file)
- : Disassembler(filename, manager)
+ : Disassembler()
, logger(log4cxx::Logger::getLogger("LLVMDisassembler"))
, triple("unknown-unknown-unknown")
, manager(manager)
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 <typename ELFT>