+template <>
+uint64_t LLVMDisassembler<COFFT>::entryAddress() {
+ const auto coffobject = dyn_cast<COFFObjectFile>(o);
+ const struct pe32_header* pe32_header;
+ const struct pe32plus_header* pe32plus_header;
+
+ coffobject->getPE32PlusHeader(pe32plus_header);
+
+ if (pe32plus_header) {
+ return pe32plus_header->AddressOfEntryPoint;
+ } else {
+ coffobject->getPE32Header(pe32_header);
+ return pe32_header->AddressOfEntryPoint;
+ }
+}
+
+template <typename ELFT>
+uint64_t LLVMDisassembler<ELFT>::entryAddress() {
+ const auto elffile = dyn_cast<ELFObjectFile<ELFT>>(o)->getELFFile();
+ const auto * header = elffile->getHeader();
+
+ return header->e_entry;
+}
+