Lines Matching defs:ELFT

427 template <class ELFT>
428 static bool checkOffsets(const typename ELFT::Phdr &Phdr,
429 const typename ELFT::Shdr &Sec, bool &Overlap) {
449 template <class ELFT>
450 static bool checkVMA(const typename ELFT::Phdr &Phdr,
451 const typename ELFT::Shdr &Sec, bool &Overlap) {
465 using ELFT = ELF64LE;
466 using ELFShdrTy = typename ELFObjectFile<ELFT>::Elf_Shdr;
468 const ELFFile<ELFT> &Obj = ELF64LEFile->getELFFile();
470 auto handleSection = [&](const ELFT::Phdr &Phdr, SectionRef SecRef) {
478 bool ImageContains = checkOffsets<ELFT>(Phdr, *Sec, ImageOverlap);
479 bool VMAContains = checkVMA<ELFT>(Phdr, *Sec, VMAOverlap);
501 for (const ELFT::Phdr &Phdr : cantFail(Obj.program_headers()))
2131 template <typename ELFT>
2132 int64_t getRelocationAddend(const ELFObjectFile<ELFT> *Obj,
2134 using ELFShdrTy = typename ELFT::Shdr;
2135 using Elf_Rela = typename ELFT::Rela;
2137 const ELFFile<ELFT> &EF = Obj->getELFFile();
2160 template <typename ELFT>
2161 uint32_t getRelocationSymbol(const ELFObjectFile<ELFT> *Obj,
2163 using ELFShdrTy = typename ELFT::Shdr;
2165 const ELFFile<ELFT> &EF = Obj->getELFFile();
4294 template <typename ELFT>
4295 void RewriteInstance::finalizeSectionStringTable(ELFObjectFile<ELFT> *File) {
4373 template <typename ELFT>
4374 std::vector<typename object::ELFObjectFile<ELFT>::Elf_Shdr>
4375 RewriteInstance::getOutputSections(ELFObjectFile<ELFT> *File,
4377 using ELFShdrTy = typename ELFObjectFile<ELFT>::Elf_Shdr;
4378 const ELFFile<ELFT> &Obj = File->getELFFile();
4379 typename ELFT::ShdrRange Sections = cantFail(Obj.sections());
4560 template <typename ELFT>
4561 void RewriteInstance::patchELFSectionHeaderTable(ELFObjectFile<ELFT> *File) {
4562 using ELFShdrTy = typename ELFObjectFile<ELFT>::Elf_Shdr;
4563 using ELFEhdrTy = typename ELFObjectFile<ELFT>::Elf_Ehdr;
4565 const ELFFile<ELFT> &Obj = File->getELFFile();
4611 template <typename ELFT, typename WriteFuncTy, typename StrTabFuncTy>
4613 ELFObjectFile<ELFT> *File, bool IsDynSym,
4614 const typename object::ELFObjectFile<ELFT>::Elf_Shdr &SymTabSection,
4617 const ELFFile<ELFT> &Obj = File->getELFFile();
4618 using ELFSymTy = typename ELFObjectFile<ELFT>::Elf_Sym;
4768 Expected<const typename ELFT::Shdr *> Section =
5046 template <typename ELFT>
5047 void RewriteInstance::patchELFSymTabs(ELFObjectFile<ELFT> *File) {
5048 const ELFFile<ELFT> &Obj = File->getELFFile();
5049 using ELFShdrTy = typename ELFObjectFile<ELFT>::Elf_Shdr;
5050 using ELFSymTy = typename ELFObjectFile<ELFT>::Elf_Sym;
5139 template <typename ELFT>
5141 ELFObjectFile<ELFT> *File) {
5231 template <typename ELFT>
5233 RewriteInstance::patchELFAllocatableRelaSections(ELFObjectFile<ELFT> *File) {
5234 using Elf_Rela = typename ELFT::Rela;
5236 const ELFFile<ELFT> &EF = File->getELFFile();
5333 typename ELFObjectFile<ELFT>::Elf_Rela RelA;
5348 template <typename ELFT>
5349 void RewriteInstance::patchELFGOT(ELFObjectFile<ELFT> *File) {
5383 template <typename ELFT>
5384 void RewriteInstance::patchELFDynamic(ELFObjectFile<ELFT> *File) {
5388 const ELFFile<ELFT> &Obj = File->getELFFile();
5391 using Elf_Phdr = typename ELFFile<ELFT>::Elf_Phdr;
5392 using Elf_Dyn = typename ELFFile<ELFT>::Elf_Dyn;
5411 typename ELFT::DynRange DynamicEntries =
5474 template <typename ELFT>
5475 Error RewriteInstance::readELFDynamic(ELFObjectFile<ELFT> *File) {
5476 const ELFFile<ELFT> &Obj = File->getELFFile();
5478 using Elf_Phdr = typename ELFFile<ELFT>::Elf_Phdr;
5479 using Elf_Dyn = typename ELFFile<ELFT>::Elf_Dyn;
5505 typename ELFT::DynRange DynamicEntries = DynamicEntriesOrErr.get();