Lines Matching refs:ELFT
39 template <class ELFT> void ELFWriter<ELFT>::writePhdr(const Segment &Seg) { in writePhdr()
69 template <class ELFT> void ELFWriter<ELFT>::writeShdr(const SectionBase &Sec) { in writeShdr()
85 template <class ELFT> Error ELFSectionSizer<ELFT>::visit(Section &) { in visit()
89 template <class ELFT> Error ELFSectionSizer<ELFT>::visit(OwnedDataSection &) { in visit()
93 template <class ELFT> Error ELFSectionSizer<ELFT>::visit(StringTableSection &) { in visit()
97 template <class ELFT>
98 Error ELFSectionSizer<ELFT>::visit(DynamicRelocationSection &) { in visit()
102 template <class ELFT>
103 Error ELFSectionSizer<ELFT>::visit(SymbolTableSection &Sec) { in visit()
107 Sec.Align = ELFT::Is64Bits ? sizeof(Elf_Xword) : sizeof(Elf_Word); in visit()
124 template <class ELFT>
125 Error ELFSectionSizer<ELFT>::visit(RelocationSection &Sec) { in visit()
127 Sec.Size = encodeCrel<ELFT::Is64Bits>(Sec.Relocations).size(); in visit()
132 Sec.Align = ELFT::Is64Bits ? sizeof(Elf_Xword) : sizeof(Elf_Word); in visit()
137 template <class ELFT>
138 Error ELFSectionSizer<ELFT>::visit(GnuDebugLinkSection &) { in visit()
142 template <class ELFT> Error ELFSectionSizer<ELFT>::visit(GroupSection &Sec) { in visit()
147 template <class ELFT>
148 Error ELFSectionSizer<ELFT>::visit(SectionIndexSection &) { in visit()
152 template <class ELFT> Error ELFSectionSizer<ELFT>::visit(CompressedSection &) { in visit()
156 template <class ELFT>
157 Error ELFSectionSizer<ELFT>::visit(DecompressedSection &) { in visit()
463 template <class ELFT>
464 Error ELFSectionWriter<ELFT>::visit(const DecompressedSection &Sec) { in visit()
466 Sec.OriginalData.slice(sizeof(Elf_Chdr_Impl<ELFT>)); in visit()
536 template <class ELFT>
537 Error ELFSectionWriter<ELFT>::visit(const CompressedSection &Sec) { in visit()
539 Elf_Chdr_Impl<ELFT> Chdr = {}; in visit()
617 template <class ELFT>
618 Error ELFSectionWriter<ELFT>::visit(const SectionIndexSection &Sec) { in visit()
864 template <class ELFT>
865 Error ELFSectionWriter<ELFT>::visit(const SymbolTableSection &Sec) { in visit()
967 template <class ELFT>
968 static void setAddend(Elf_Rel_Impl<ELFT, false> &, uint64_t) {} in setAddend() argument
970 template <class ELFT>
971 static void setAddend(Elf_Rel_Impl<ELFT, true> &Rela, uint64_t Addend) { in setAddend() argument
986 template <class ELFT>
987 Error ELFSectionWriter<ELFT>::visit(const RelocationSection &Sec) { in visit()
990 auto Content = encodeCrel<ELFT::Is64Bits>(Sec.Relocations); in visit()
1181 template <class ELFT>
1182 Error ELFSectionWriter<ELFT>::visit(const GnuDebugLinkSection &Sec) { in visit()
1200 template <class ELFT>
1201 Error ELFSectionWriter<ELFT>::visit(const GroupSection &Sec) { in visit()
1204 endian::write32<ELFT::Endianness>(Buf++, Sec.FlagWord); in visit()
1206 endian::write32<ELFT::Endianness>(Buf++, S->Index); in visit()
1410 template <class ELFT>
1411 ELFBuilder<ELFT>::ELFBuilder(const ELFObjectFile<ELFT> &ElfObj, Object &Obj, in ELFBuilder()
1418 template <class ELFT> void ELFBuilder<ELFT>::setParentSegment(Segment &Child) { in setParentSegment()
1434 template <class ELFT> Error ELFBuilder<ELFT>::findEhdrOffset() { in findEhdrOffset()
1449 template <class ELFT>
1450 Error ELFBuilder<ELFT>::readProgramHeaders(const ELFFile<ELFT> &HeadersFile) { in readProgramHeaders()
1453 Expected<typename ELFFile<ELFT>::Elf_Phdr_Range> Headers = in readProgramHeaders()
1458 for (const typename ELFFile<ELFT>::Elf_Phdr &Phdr : *Headers) { in readProgramHeaders()
1491 const typename ELFT::Ehdr &Ehdr = HeadersFile.getHeader(); in readProgramHeaders()
1516 template <class ELFT>
1517 Error ELFBuilder<ELFT>::initGroupSection(GroupSection *GroupSec) { in initGroupSection()
1551 GroupSec->setFlagWord(endian::read32<ELFT::Endianness>(Word++)); in initGroupSection()
1553 uint32_t Index = support::endian::read32<ELFT::Endianness>(Word); in initGroupSection()
1566 template <class ELFT>
1567 Error ELFBuilder<ELFT>::initSymbolTable(SymbolTableSection *SymTab) { in initSymbolTable()
1578 Expected<typename ELFFile<ELFT>::Elf_Sym_Range> Symbols = in initSymbolTable()
1583 for (const typename ELFFile<ELFT>::Elf_Sym &Sym : *Symbols) { in initSymbolTable()
1649 template <class ELFT>
1650 static void getAddend(uint64_t &, const Elf_Rel_Impl<ELFT, false> &) {} in getAddend() argument
1652 template <class ELFT>
1653 static void getAddend(uint64_t &ToSet, const Elf_Rel_Impl<ELFT, true> &Rela) { in getAddend() argument
1706 template <class ELFT>
1707 Expected<SectionBase &> ELFBuilder<ELFT>::makeSection(const Elf_Shdr &Shdr) { in makeSection()
1780 auto *Chdr = reinterpret_cast<const Elf_Chdr_Impl<ELFT> *>(Data->data()); in makeSection()
1787 template <class ELFT> Error ELFBuilder<ELFT>::readSectionHeaders() { in readSectionHeaders()
1789 Expected<typename ELFFile<ELFT>::Elf_Shdr_Range> Sections = in readSectionHeaders()
1794 for (const typename ELFFile<ELFT>::Elf_Shdr &Shdr : *Sections) { in readSectionHeaders()
1827 template <class ELFT> Error ELFBuilder<ELFT>::readSections(bool EnsureSymtab) { in readSections()
1882 Expected<typename ELFFile<ELFT>::Elf_Shdr_Range> Sections = in readSections()
1887 const typename ELFFile<ELFT>::Elf_Shdr *Shdr = in readSections()
1898 Expected<typename ELFFile<ELFT>::Elf_Rel_Range> Rels = in readSections()
1906 Expected<typename ELFFile<ELFT>::Elf_Rela_Range> Relas = in readSections()
1923 template <class ELFT> Error ELFBuilder<ELFT>::build(bool EnsureSymtab) { in build()
1932 Expected<ELFFile<ELFT>> HeadersFile = ELFFile<ELFT>::create(toStringRef( in build()
1937 const typename ELFFile<ELFT>::Elf_Ehdr &Ehdr = HeadersFile->getHeader(); in build()
2022 template <class ELFT> void ELFWriter<ELFT>::writeEhdr() { in writeEhdr()
2029 Ehdr.e_ident[EI_CLASS] = ELFT::Is64Bits ? ELFCLASS64 : ELFCLASS32; in writeEhdr()
2031 ELFT::Endianness == llvm::endianness::big ? ELFDATA2MSB : ELFDATA2LSB; in writeEhdr()
2079 template <class ELFT> void ELFWriter<ELFT>::writePhdrs() { in writePhdrs()
2084 template <class ELFT> void ELFWriter<ELFT>::writeShdrs() { in writeShdrs()
2113 template <class ELFT> Error ELFWriter<ELFT>::writeSectionData() { in writeSectionData()
2125 template <class ELFT> void ELFWriter<ELFT>::writeSegmentData() { in writeSegmentData()
2154 template <class ELFT>
2155 ELFWriter<ELFT>::ELFWriter(Object &Obj, raw_ostream &Buf, bool WSH, in ELFWriter()
2480 template <class ELFT> void ELFWriter<ELFT>::initEhdrSegment() { in initEhdrSegment()
2490 template <class ELFT> void ELFWriter<ELFT>::assignOffsets() { in assignOffsets()
2525 template <class ELFT> size_t ELFWriter<ELFT>::totalSize() const { in totalSize()
2534 template <class ELFT> Error ELFWriter<ELFT>::write() { in write()
2570 template <class ELFT> Error ELFWriter<ELFT>::finalize() { in finalize()
2638 auto SecSizer = std::make_unique<ELFSectionSizer<ELFT>>(); in finalize()
2682 SecWriter = std::make_unique<ELFSectionWriter<ELFT>>(*Buf); in finalize()