Lines Matching refs:ELFT

44 template <class ELFT>
45 static ArrayRef<uint8_t> getSectionContents(ObjFile<ELFT> &file, in getSectionContents()
46 const typename ELFT::Shdr &hdr) { in getSectionContents()
89 template <class ELFT>
90 InputSectionBase::InputSectionBase(ObjFile<ELFT> &file, in InputSectionBase()
91 const typename ELFT::Shdr &hdr, in InputSectionBase()
128 template <class ELFT> RelsOrRelas<ELFT> InputSectionBase::relsOrRelas() const { in relsOrRelas()
131 RelsOrRelas<ELFT> ret; in relsOrRelas()
132 typename ELFT::Shdr shdr = in relsOrRelas()
133 cast<ELFFileBase>(file)->getELFShdrs<ELFT>()[relSecIdx]; in relsOrRelas()
135 ret.rels = makeArrayRef(reinterpret_cast<const typename ELFT::Rel *>( in relsOrRelas()
137 shdr.sh_size / sizeof(typename ELFT::Rel)); in relsOrRelas()
140 ret.relas = makeArrayRef(reinterpret_cast<const typename ELFT::Rela *>( in relsOrRelas()
142 shdr.sh_size / sizeof(typename ELFT::Rela)); in relsOrRelas()
200 template <typename ELFT> void InputSectionBase::parseCompressedHeader() { in parseCompressedHeader()
204 if (rawData.size() < sizeof(typename ELFT::Chdr)) { in parseCompressedHeader()
209 auto *hdr = reinterpret_cast<const typename ELFT::Chdr *>(rawData.data()); in parseCompressedHeader()
305 template <class ELFT>
306 InputSection::InputSection(ObjFile<ELFT> &f, const typename ELFT::Shdr &header, in InputSection()
311 template <class ELFT> void InputSection::copyShtGroup(uint8_t *buf) { in copyShtGroup()
313 using u32 = typename ELFT::Word; in copyShtGroup()
342 template <class ELFT, class RelTy>
350 const ObjFile<ELFT> *file = getFile<ELFT>(); in copyRelocations()
353 auto *p = reinterpret_cast<typename ELFT::Rela *>(buf); in copyRelocations()
357 p->r_addend = getAddend<ELFT>(rel); in copyRelocations()
384 Elf_Shdr_Impl<ELFT> sec = file->template getELFShdrs<ELFT>()[secIdx]; in copyRelocations()
398 int64_t addend = getAddend<ELFT>(rel); in copyRelocations()
416 addend += sec->getFile<ELFT>()->mipsGp0; in copyRelocations()
816 template <class ELFT, class RelTy>
818 const unsigned bits = sizeof(typename ELFT::uint) * 8; in relocateNonAlloc()
843 int64_t addend = getAddend<ELFT>(rel); in relocateNonAlloc()
847 Symbol &sym = getFile<ELFT>()->getRelocTargetSym(rel); in relocateNonAlloc()
949 template <class ELFT>
951 if ((flags & SHF_EXECINSTR) && LLVM_UNLIKELY(getFile<ELFT>()->splitStack)) in relocate()
952 adjustSplitStackFunctionPrologues<ELFT>(buf, bufEnd); in relocate()
964 const RelsOrRelas<ELFT> rels = sec->template relsOrRelas<ELFT>(); in relocate()
966 sec->relocateNonAlloc<ELFT>(buf, rels.rels); in relocate()
968 sec->relocateNonAlloc<ELFT>(buf, rels.relas); in relocate()
1148 template <class ELFT>
1175 if (!isec || !isec->getFile<ELFT>() || isec->getFile<ELFT>()->splitStack) in adjustSplitStackFunctionPrologues()
1186 if (!getFile<ELFT>()->someNoSplitStack) in adjustSplitStackFunctionPrologues()
1197 template <class ELFT> void InputSection::writeTo(uint8_t *buf) { in writeTo()
1203 copyRelocations<ELFT>(buf, getDataAs<typename ELFT::Rela>()); in writeTo()
1207 copyRelocations<ELFT>(buf, getDataAs<typename ELFT::Rel>()); in writeTo()
1213 copyShtGroup<ELFT>(buf); in writeTo()
1225 relocate<ELFT>(buf, bufEnd); in writeTo()
1232 relocate<ELFT>(buf, buf + rawData.size()); in writeTo()
1252 template <class ELFT>
1253 EhInputSection::EhInputSection(ObjFile<ELFT> &f, in EhInputSection()
1254 const typename ELFT::Shdr &header, in EhInputSection()
1283 template <class ELFT> void EhInputSection::split() { in split()
1284 const RelsOrRelas<ELFT> rels = relsOrRelas<ELFT>(); in split()
1288 SmallVector<typename ELFT::Rel, 0> storage; in split()
1289 split<ELFT>(sortRels(rels.rels, storage)); in split()
1291 SmallVector<typename ELFT::Rela, 0> storage; in split()
1292 split<ELFT>(sortRels(rels.relas, storage)); in split()
1296 template <class ELFT, class RelTy>
1306 uint64_t size = endian::read32<ELFT::TargetEndianness>(d.data()); in split()
1386 template <class ELFT>
1387 MergeInputSection::MergeInputSection(ObjFile<ELFT> &f, in MergeInputSection()
1388 const typename ELFT::Shdr &header, in MergeInputSection()