Lines Matching refs:Phdr
1769 std::pair<const typename ELFT::Phdr *, const typename ELFT::Shdr *>
1774 for (const Elf_Phdr &Phdr : *PhdrsOrErr) { in findDynamic()
1775 if (Phdr.p_type != ELF::PT_DYNAMIC) in findDynamic()
1777 DynamicPhdr = &Phdr; in findDynamic()
4653 static bool checkTLSSections(const typename ELFT::Phdr &Phdr, in checkTLSSections() argument
4658 return Phdr.p_type == ELF::PT_TLS; in checkTLSSections()
4662 return (Phdr.p_type == ELF::PT_TLS) || (Phdr.p_type == ELF::PT_LOAD) || in checkTLSSections()
4663 (Phdr.p_type == ELF::PT_GNU_RELRO); in checkTLSSections()
4667 return Phdr.p_type != ELF::PT_TLS; in checkTLSSections()
4671 static bool checkPTDynamic(const typename ELFT::Phdr &Phdr, in checkPTDynamic() argument
4673 if (Phdr.p_type != ELF::PT_DYNAMIC || Phdr.p_memsz == 0 || Sec.sh_size != 0) in checkPTDynamic()
4680 (Sec.sh_offset > Phdr.p_offset && in checkPTDynamic()
4681 Sec.sh_offset < Phdr.p_offset + Phdr.p_filesz); in checkPTDynamic()
4683 (Sec.sh_addr > Phdr.p_vaddr && Sec.sh_addr < Phdr.p_memsz); in checkPTDynamic()
4736 for (const Elf_Phdr &Phdr : *PhdrsOrErr) { in printProgramHeaders()
4737 Fields[0].Str = getGNUPtType(Header.e_machine, Phdr.p_type); in printProgramHeaders()
4738 Fields[1].Str = to_string(format_hex(Phdr.p_offset, 8)); in printProgramHeaders()
4739 Fields[2].Str = to_string(format_hex(Phdr.p_vaddr, Width)); in printProgramHeaders()
4740 Fields[3].Str = to_string(format_hex(Phdr.p_paddr, Width)); in printProgramHeaders()
4741 Fields[4].Str = to_string(format_hex(Phdr.p_filesz, SizeWidth)); in printProgramHeaders()
4742 Fields[5].Str = to_string(format_hex(Phdr.p_memsz, SizeWidth)); in printProgramHeaders()
4743 Fields[6].Str = printPhdrFlags(Phdr.p_flags); in printProgramHeaders()
4744 Fields[7].Str = to_string(format_hex(Phdr.p_align, 1)); in printProgramHeaders()
4747 if (Phdr.p_type == ELF::PT_INTERP) { in printProgramHeaders()
4752 Twine::utohexstr(Phdr.p_offset) + ": " + Msg); in printProgramHeaders()
4755 if (Phdr.p_offset >= this->Obj.getBufSize()) { in printProgramHeaders()
4762 reinterpret_cast<const char *>(this->Obj.base()) + Phdr.p_offset; in printProgramHeaders()
4763 size_t MaxSize = this->Obj.getBufSize() - Phdr.p_offset; in printProgramHeaders()
4790 for (const Elf_Phdr &Phdr : *PhdrsOrErr) { in printSectionMapping()
4801 if (isSectionInSegment<ELFT>(Phdr, Sec) && in printSectionMapping()
4802 checkTLSSections<ELFT>(Phdr, Sec) && in printSectionMapping()
4803 checkPTDynamic<ELFT>(Phdr, Sec)) { in printSectionMapping()
6128 Expected<ArrayRef<typename ELFT::Phdr>> PhdrsOrErr = Obj.program_headers(); in processNotesHelper()
6137 const typename ELFT::Phdr &P = (*PhdrsOrErr)[I]; in processNotesHelper()
7531 for (const Elf_Phdr &Phdr : *PhdrsOrErr) { in printProgramHeaders()
7534 segmentTypeToString(this->Obj.getHeader().e_machine, Phdr.p_type); in printProgramHeaders()
7536 W.printHex("Type", Type.empty() ? "Unknown" : Type, Phdr.p_type); in printProgramHeaders()
7537 W.printHex("Offset", Phdr.p_offset); in printProgramHeaders()
7538 W.printHex("VirtualAddress", Phdr.p_vaddr); in printProgramHeaders()
7539 W.printHex("PhysicalAddress", Phdr.p_paddr); in printProgramHeaders()
7540 W.printNumber("FileSize", Phdr.p_filesz); in printProgramHeaders()
7541 W.printNumber("MemSize", Phdr.p_memsz); in printProgramHeaders()
7542 W.printFlags("Flags", Phdr.p_flags, ArrayRef(ElfSegmentFlags)); in printProgramHeaders()
7543 W.printNumber("Alignment", Phdr.p_align); in printProgramHeaders()