Lines Matching refs:ELFT
94 template <class ELFT>
95 MipsAbiFlagsSection<ELFT>::MipsAbiFlagsSection(Elf_Mips_ABIFlags flags) in MipsAbiFlagsSection()
101 template <class ELFT> void MipsAbiFlagsSection<ELFT>::writeTo(uint8_t *buf) { in writeTo()
105 template <class ELFT>
106 std::unique_ptr<MipsAbiFlagsSection<ELFT>> MipsAbiFlagsSection<ELFT>::create() { in create()
148 return std::make_unique<MipsAbiFlagsSection<ELFT>>(flags); in create()
153 template <class ELFT>
154 MipsOptionsSection<ELFT>::MipsOptionsSection(Elf_Mips_RegInfo reginfo) in MipsOptionsSection()
160 template <class ELFT> void MipsOptionsSection<ELFT>::writeTo(uint8_t *buf) { in writeTo()
170 template <class ELFT>
171 std::unique_ptr<MipsOptionsSection<ELFT>> MipsOptionsSection<ELFT>::create() { in create()
173 if (!ELFT::Is64Bits) in create()
200 sec->getFile<ELFT>()->mipsGp0 = opt->getRegInfo().ri_gp_value; in create()
210 return std::make_unique<MipsOptionsSection<ELFT>>(reginfo); in create()
214 template <class ELFT>
215 MipsReginfoSection<ELFT>::MipsReginfoSection(Elf_Mips_RegInfo reginfo) in MipsReginfoSection()
221 template <class ELFT> void MipsReginfoSection<ELFT>::writeTo(uint8_t *buf) { in writeTo()
227 template <class ELFT>
228 std::unique_ptr<MipsReginfoSection<ELFT>> MipsReginfoSection<ELFT>::create() { in create()
230 if (ELFT::Is64Bits) in create()
252 sec->getFile<ELFT>()->mipsGp0 = r->ri_gp_value; in create()
255 return std::make_unique<MipsReginfoSection<ELFT>>(reginfo); in create()
355 template <class ELFT, class RelTy>
361 &cie.sec->template getFile<ELFT>()->getRelocTargetSym(rels[firstRelI]); in addCie()
377 template <class ELFT, class RelTy>
391 Symbol &b = sec->template getFile<ELFT>()->getRelocTargetSym(rel); in isFdeLive()
405 template <class ELFT, class RelTy>
415 endian::read32<ELFT::TargetEndianness>(piece.data().data() + 4); in addRecords()
417 offsetToCie[offset] = addCie<ELFT>(piece, rels); in addRecords()
426 if (!isFdeLive<ELFT>(piece, rels)) in addRecords()
433 template <class ELFT>
437 const RelsOrRelas<ELFT> rels = sec->template relsOrRelas<ELFT>(); in addSectionAux()
439 addRecords<ELFT>(sec, rels.rels); in addSectionAux()
441 addRecords<ELFT>(sec, rels.relas); in addSectionAux()
456 template <class ELFT, class RelTy>
467 endian::read32<ELFT::TargetEndianness>(piece.data().data() + 4); in iterateFDEWithLSDAAux()
478 if (Defined *d = isFdeLive<ELFT>(piece, rels)) in iterateFDEWithLSDAAux()
484 template <class ELFT>
490 const RelsOrRelas<ELFT> rels = sec->template relsOrRelas<ELFT>(); in iterateFDEWithLSDA()
492 iterateFDEWithLSDAAux<ELFT>(*sec, rels.rels, ciesWithLSDA, fn); in iterateFDEWithLSDA()
494 iterateFDEWithLSDAAux<ELFT>(*sec, rels.relas, ciesWithLSDA, fn); in iterateFDEWithLSDA()
1276 template <class ELFT>
1277 DynamicSection<ELFT>::DynamicSection() in DynamicSection()
1280 this->entsize = ELFT::Is64Bits ? 16 : 8; in DynamicSection()
1320 template <class ELFT>
1322 DynamicSection<ELFT>::computeContents() { in computeContents()
1556 template <class ELFT> void DynamicSection<ELFT>::finalizeContents() { in finalizeContents()
1562 template <class ELFT> void DynamicSection<ELFT>::writeTo(uint8_t *buf) { in writeTo()
1716 template <class ELFT>
1717 RelocationSection<ELFT>::RelocationSection(StringRef name, bool combreloc) in RelocationSection()
1724 template <class ELFT> void RelocationSection<ELFT>::writeTo(uint8_t *buf) { in writeTo()
1741 template <class ELFT>
1742 AndroidPackedRelocationSection<ELFT>::AndroidPackedRelocationSection( in AndroidPackedRelocationSection()
1752 template <class ELFT>
1753 bool AndroidPackedRelocationSection<ELFT>::updateAllocSize() { in updateAllocSize()
1996 template <class ELFT> RelrSection<ELFT>::RelrSection() { in RelrSection()
2000 template <class ELFT> bool RelrSection<ELFT>::updateAllocSize() { in updateAllocSize()
2036 const size_t wordsize = sizeof(typename ELFT::uint); in updateAllocSize()
2198 template <class ELFT>
2199 SymbolTableSection<ELFT>::SymbolTableSection(StringTableSection &strTabSec) in SymbolTableSection()
2222 template <class ELFT> void SymbolTableSection<ELFT>::writeTo(uint8_t *buf) { in writeTo()
2301 if (isMipsPIC<ELFT>(d)) in writeTo()
2783 template <class ELFT>
2785 readPubNamesAndTypes(const LLDDwarfObj<ELFT> &obj, in readPubNamesAndTypes()
2899 template <class ELFT> GdbIndexSection *GdbIndexSection::create() { in create()
2931 ObjFile<ELFT> *file = cast<ObjFile<ELFT>>(files[i]); in create()
2932 DWARFContext dwarf(std::make_unique<LLDDwarfObj<ELFT>>(file)); in create()
2933 auto &dobj = static_cast<const LLDDwarfObj<ELFT> &>(dwarf.getDWARFObj()); in create()
2940 nameAttrs[i] = readPubNamesAndTypes<ELFT>(dobj, chunks[i].compilationUnits); in create()
3180 template <class ELFT>
3181 VersionNeedSection<ELFT>::VersionNeedSection() in VersionNeedSection()
3185 template <class ELFT> void VersionNeedSection<ELFT>::finalizeContents() { in finalizeContents()
3198 reinterpret_cast<const typename ELFT::Verdef *>(f->verdefs[i]); in finalizeContents()
3218 template <class ELFT> void VersionNeedSection<ELFT>::writeTo(uint8_t *buf) { in writeTo()
3248 template <class ELFT> size_t VersionNeedSection<ELFT>::getSize() const { in getSize()
3253 template <class ELFT> bool VersionNeedSection<ELFT>::isNeeded() const { in isNeeded()
3352 template <class ELFT> void elf::splitSections() { in splitSections()
3363 eh->split<ELFT>(); in splitSections()
3735 template <typename ELFT> void elf::writeEhdr(uint8_t *buf, Partition &part) { in writeEhdr()
3738 auto *eHdr = reinterpret_cast<typename ELFT::Ehdr *>(buf); in writeEhdr()
3747 eHdr->e_ehsize = sizeof(typename ELFT::Ehdr); in writeEhdr()
3749 eHdr->e_shentsize = sizeof(typename ELFT::Shdr); in writeEhdr()
3752 eHdr->e_phoff = sizeof(typename ELFT::Ehdr); in writeEhdr()
3753 eHdr->e_phentsize = sizeof(typename ELFT::Phdr); in writeEhdr()
3757 template <typename ELFT> void elf::writePhdrs(uint8_t *buf, Partition &part) { in writePhdrs()
3759 auto *hBuf = reinterpret_cast<typename ELFT::Phdr *>(buf); in writePhdrs()
3773 template <typename ELFT>
3774 PartitionElfHeaderSection<ELFT>::PartitionElfHeaderSection() in PartitionElfHeaderSection()
3777 template <typename ELFT>
3778 size_t PartitionElfHeaderSection<ELFT>::getSize() const { in getSize()
3779 return sizeof(typename ELFT::Ehdr); in getSize()
3782 template <typename ELFT>
3783 void PartitionElfHeaderSection<ELFT>::writeTo(uint8_t *buf) { in writeTo()
3784 writeEhdr<ELFT>(buf, getPartition()); in writeTo()
3787 auto *eHdr = reinterpret_cast<typename ELFT::Ehdr *>(buf); in writeTo()
3791 template <typename ELFT>
3792 PartitionProgramHeadersSection<ELFT>::PartitionProgramHeadersSection() in PartitionProgramHeadersSection()
3795 template <typename ELFT>
3796 size_t PartitionProgramHeadersSection<ELFT>::getSize() const { in getSize()
3797 return sizeof(typename ELFT::Phdr) * getPartition().phdrs.size(); in getSize()
3800 template <typename ELFT>
3801 void PartitionProgramHeadersSection<ELFT>::writeTo(uint8_t *buf) { in writeTo()
3802 writePhdrs<ELFT>(buf, getPartition()); in writeTo()