Lines Matching defs:ELFObjectFile

1 //===- ELFObjectFile.h - ELF object file implementation ---------*- C++ -*-===//
9 // This file declares the ELFObjectFile template class.
265 template <class ELFT> class ELFObjectFile : public ELFObjectFileBase {
285 ELFObjectFile(MemoryBufferRef Object, ELFFile<ELFT> EF,
444 // This flag is used for classof, to distinguish ELFObjectFile from
450 ELFObjectFile(ELFObjectFile<ELFT> &&Other);
451 static Expected<ELFObjectFile<ELFT>> create(MemoryBufferRef Object,
514 using ELF32LEObjectFile = ELFObjectFile<ELF32LE>;
515 using ELF64LEObjectFile = ELFObjectFile<ELF64LE>;
516 using ELF32BEObjectFile = ELFObjectFile<ELF32BE>;
517 using ELF64BEObjectFile = ELFObjectFile<ELF64BE>;
520 void ELFObjectFile<ELFT>::moveSymbolNext(DataRefImpl &Sym) const {
524 template <class ELFT> Error ELFObjectFile<ELFT>::initContent() {
554 Expected<StringRef> ELFObjectFile<ELFT>::getSymbolName(DataRefImpl Sym) const {
584 uint64_t ELFObjectFile<ELFT>::getSectionFlags(DataRefImpl Sec) const {
589 uint32_t ELFObjectFile<ELFT>::getSectionType(DataRefImpl Sec) const {
594 uint64_t ELFObjectFile<ELFT>::getSectionOffset(DataRefImpl Sec) const {
599 uint64_t ELFObjectFile<ELFT>::getSymbolValueImpl(DataRefImpl Symb) const {
619 ELFObjectFile<ELFT>::getSymbolAddress(DataRefImpl Symb) const {
665 uint32_t ELFObjectFile<ELFT>::getSymbolAlignment(DataRefImpl Symb) const {
675 uint16_t ELFObjectFile<ELFT>::getEMachine() const {
679 template <class ELFT> uint16_t ELFObjectFile<ELFT>::getEType() const {
683 template <class ELFT> uint8_t ELFObjectFile<ELFT>::getEIdentABIVersion() const {
688 uint64_t ELFObjectFile<ELFT>::getSymbolSize(DataRefImpl Sym) const {
696 uint64_t ELFObjectFile<ELFT>::getCommonSymbolSizeImpl(DataRefImpl Symb) const {
701 uint8_t ELFObjectFile<ELFT>::getSymbolBinding(DataRefImpl Symb) const {
709 uint8_t ELFObjectFile<ELFT>::getSymbolOther(DataRefImpl Symb) const {
717 uint8_t ELFObjectFile<ELFT>::getSymbolELFType(DataRefImpl Symb) const {
726 ELFObjectFile<ELFT>::getSymbolType(DataRefImpl Symb) const {
750 Expected<uint32_t> ELFObjectFile<ELFT>::getSymbolFlags(DataRefImpl Sym) const {
851 ELFObjectFile<ELFT>::getSymbolSection(const Elf_Sym *ESym,
878 ELFObjectFile<ELFT>::getSymbolSection(DataRefImpl Symb) const {
890 void ELFObjectFile<ELFT>::moveSectionNext(DataRefImpl &Sec) const {
896 Expected<StringRef> ELFObjectFile<ELFT>::getSectionName(DataRefImpl Sec) const {
901 uint64_t ELFObjectFile<ELFT>::getSectionAddress(DataRefImpl Sec) const {
906 uint64_t ELFObjectFile<ELFT>::getSectionIndex(DataRefImpl Sec) const {
917 uint64_t ELFObjectFile<ELFT>::getSectionSize(DataRefImpl Sec) const {
923 ELFObjectFile<ELFT>::getSectionContents(DataRefImpl Sec) const {
935 uint64_t ELFObjectFile<ELFT>::getSectionAlignment(DataRefImpl Sec) const {
940 bool ELFObjectFile<ELFT>::isSectionCompressed(DataRefImpl Sec) const {
945 bool ELFObjectFile<ELFT>::isSectionText(DataRefImpl Sec) const {
950 bool ELFObjectFile<ELFT>::isSectionData(DataRefImpl Sec) const {
958 bool ELFObjectFile<ELFT>::isSectionBSS(DataRefImpl Sec) const {
965 ELFObjectFile<ELFT>::dynamic_relocation_sections() const {
993 bool ELFObjectFile<ELFT>::isSectionVirtual(DataRefImpl Sec) const {
998 bool ELFObjectFile<ELFT>::isBerkeleyText(DataRefImpl Sec) const {
1005 bool ELFObjectFile<ELFT>::isBerkeleyData(DataRefImpl Sec) const {
1012 bool ELFObjectFile<ELFT>::isDebugSection(DataRefImpl Sec) const {
1026 ELFObjectFile<ELFT>::section_rel_begin(DataRefImpl Sec) const {
1057 ELFObjectFile<ELFT>::section_rel_end(DataRefImpl Sec) const {
1081 ELFObjectFile<ELFT>::getRelocatedSection(DataRefImpl Sec) const {
1095 void ELFObjectFile<ELFT>::moveRelocationNext(DataRefImpl &Rel) const {
1101 ELFObjectFile<ELFT>::getRelocationSymbol(DataRefImpl Rel) const {
1121 uint64_t ELFObjectFile<ELFT>::getRelocationOffset(DataRefImpl Rel) const {
1132 uint64_t ELFObjectFile<ELFT>::getRelocationType(DataRefImpl Rel) const {
1143 StringRef ELFObjectFile<ELFT>::getRelocationTypeName(uint32_t Type) const {
1148 void ELFObjectFile<ELFT>::getRelocationTypeName(
1156 ELFObjectFile<ELFT>::getRelocationAddend(DataRefImpl Rel) const {
1165 const typename ELFObjectFile<ELFT>::Elf_Rel *
1166 ELFObjectFile<ELFT>::getRel(DataRefImpl Rel) const {
1175 const typename ELFObjectFile<ELFT>::Elf_Rela *
1176 ELFObjectFile<ELFT>::getRela(DataRefImpl Rela) const {
1185 typename ELFObjectFile<ELFT>::Elf_Crel
1186 ELFObjectFile<ELFT>::getCrel(DataRefImpl Crel) const {
1193 Expected<ELFObjectFile<ELFT>>
1194 ELFObjectFile<ELFT>::create(MemoryBufferRef Object, bool InitContent) {
1199 ELFObjectFile<ELFT> Obj = {Object, std::move(*EFOrErr), nullptr, nullptr,
1208 ELFObjectFile<ELFT>::ELFObjectFile(MemoryBufferRef Object, ELFFile<ELFT> EF,
1219 ELFObjectFile<ELFT>::ELFObjectFile(ELFObjectFile<ELFT> &&Other)
1220 : ELFObjectFile(Other.Data, Other.EF, Other.DotDynSymSec,
1224 basic_symbol_iterator ELFObjectFile<ELFT>::symbol_begin() const {
1232 basic_symbol_iterator ELFObjectFile<ELFT>::symbol_end() const {
1241 elf_symbol_iterator ELFObjectFile<ELFT>::dynamic_symbol_begin() const {
1251 elf_symbol_iterator ELFObjectFile<ELFT>::dynamic_symbol_end() const {
1260 section_iterator ELFObjectFile<ELFT>::section_begin() const {
1268 section_iterator ELFObjectFile<ELFT>::section_end() const {
1276 uint8_t ELFObjectFile<ELFT>::getBytesInAddress() const {
1281 StringRef ELFObjectFile<ELFT>::getFileFormatName() const {
1359 template <class ELFT> Triple::ArchType ELFObjectFile<ELFT>::getArch() const {
1459 template <class ELFT> Triple::OSType ELFObjectFile<ELFT>::getOS() const {
1489 Expected<uint64_t> ELFObjectFile<ELFT>::getStartAddress() const {
1495 ELFObjectFile<ELFT>::getDynamicSymbolIterators() const {
1499 template <class ELFT> bool ELFObjectFile<ELFT>::isRelocatableObject() const {
1504 StringRef ELFObjectFile<ELFT>::getCrelDecodeProblem(DataRefImpl Sec) const {