Lines Matching refs:Elf_Shdr

235   std::string describe(const Elf_Shdr &Sec) const;
270 const Elf_Shdr *findSectionByName(StringRef Name) const;
275 virtual void printVersionSymbolSection(const Elf_Shdr *Sec) = 0;
276 virtual void printVersionDefinitionSection(const Elf_Shdr *Sec) = 0;
277 virtual void printVersionDependencySection(const Elf_Shdr *Sec) = 0;
280 printDependentLibsHelper(function_ref<void(const Elf_Shdr &)> OnSectionStart,
289 const Elf_Shdr &Sec, const Elf_Shdr *SymTab);
292 void printRelocationsHelper(const Elf_Shdr &Sec);
294 const Elf_Shdr &Sec, bool RawRelr,
296 const Elf_Shdr &, const Elf_Shdr *)>
300 virtual void printSymtabMessage(const Elf_Shdr *Symtab, size_t Offset, in printSymtabMessage()
325 getVersionTable(const Elf_Shdr &Sec, ArrayRef<Elf_Sym> *SymTab,
326 StringRef *StrTab, const Elf_Shdr **SymTabSec) const;
327 StringRef getPrintableSectionName(const Elf_Shdr &Sec) const;
336 uint64_t SymValue, std::optional<const Elf_Shdr *> FunctionSec);
338 std::optional<const Elf_Shdr *> FunctionSec,
339 const Elf_Shdr &StackSizeSec, DataExtractor Data,
341 void printStackSize(const Relocation<ELFT> &R, const Elf_Shdr &RelocSec,
342 unsigned Ndx, const Elf_Shdr *SymTab,
343 const Elf_Shdr *FunctionSec, const Elf_Shdr &StackSizeSec,
370 std::pair<const Elf_Phdr *, const Elf_Shdr *> findDynamic();
388 const Elf_Shdr *DotSymtabSec = nullptr;
389 const Elf_Shdr *DotDynsymSec = nullptr;
390 const Elf_Shdr *DotAddrsigSec = nullptr;
391 DenseMap<const Elf_Shdr *, ArrayRef<Elf_Word>> ShndxTables;
395 const Elf_Shdr *SymbolVersionSection = nullptr; // .gnu.version
396 const Elf_Shdr *SymbolVersionNeedSection = nullptr; // .gnu.version_r
397 const Elf_Shdr *SymbolVersionDefSection = nullptr; // .gnu.version_d
415 const Elf_Shdr *SymTab) const;
417 ArrayRef<Elf_Word> getShndxTable(const Elf_Shdr *Symtab) const;
424 std::string ELFDumper<ELFT>::describe(const Elf_Shdr &Sec) const { in describe()
474 ELFDumper<ELFT>::getVersionTable(const Elf_Shdr &Sec, ArrayRef<Elf_Sym> *SymTab, in getVersionTable()
476 const Elf_Shdr **SymTabSec) const { in getVersionTable()
518 const Elf_Shdr *SymtabSec = IsDynamic ? DotDynsymSec : DotSymtabSec; in printSymbolsHelper()
587 void printSymtabMessage(const Elf_Shdr *Symtab, size_t Offset,
592 void printVersionSymbolSection(const Elf_Shdr *Sec) override;
593 void printVersionDefinitionSection(const Elf_Shdr *Sec) override;
594 void printVersionDependencySection(const Elf_Shdr *Sec) override;
703 void printVersionSymbolSection(const Elf_Shdr *Sec) override;
704 void printVersionDefinitionSection(const Elf_Shdr *Sec) override;
705 void printVersionDependencySection(const Elf_Shdr *Sec) override;
751 virtual void printRelocationSectionInfo(const Elf_Shdr &Sec, StringRef Name,
779 void printRelocationSectionInfo(const Elf_Shdr &Sec, StringRef Name,
882 const Elf_Shdr *SymTab) const { in getRelocationTarget()
910 ELFDumper<ELFT>::getShndxTable(const Elf_Shdr *Symtab) const { in getShndxTable()
1033 Expected<const Elf_Shdr *> SecOrErr = Obj.getSection(SectionIndex); in getSymbolSectionName()
1040 static const typename ELFO::Elf_Shdr *
1043 for (const typename ELFO::Elf_Shdr &Shdr : cantFail(Obj.sections())) in findNotEmptySectionByAddress()
1820 const Elf_Shdr *DynamicSec = nullptr; in findDynamic()
1821 for (const Elf_Shdr &Sec : cantFail(Obj.sections())) { in findDynamic()
1861 const Elf_Shdr *DynamicSec; in loadDynamicTable()
1953 for (const Elf_Shdr &Sec : Sections) { in ELFDumper()
2322 for (const Elf_Shdr &Shdr : cantFail(Obj.sections())) { in findSectionByName()
2928 for (const Elf_Shdr &Sec : cantFail(Obj.sections())) { in printAttributes()
2993 const Elf_Shdr *getPltSymTable() const { return PltSymTable; } in getPltSymTable()
2996 const Elf_Shdr *GotSec;
3000 const Elf_Shdr *PltSec;
3001 const Elf_Shdr *PltRelSec;
3002 const Elf_Shdr *PltSymTable;
3137 if (Expected<const Elf_Shdr *> PltSymTableOrErr = in findPLT()
3348 const Elf_Shdr *RegInfoSec = findSectionByName(".reginfo"); in printMipsReginfo()
3412 const Elf_Shdr *MipsOpts = findSectionByName(".MIPS.options"); in printMipsOptions()
3449 const Elf_Shdr *StackMapSection = findSectionByName(".llvm_stackmaps"); in printStackMap()
3477 const Elf_Shdr &Sec, const Elf_Shdr *SymTab) { in printReloc()
3704 const Elf_Shdr &Symtab) -> StringRef { in getGroups()
3728 for (const Elf_Shdr &Sec : cantFail(Obj.sections())) { in getGroups()
3734 if (Expected<const Elf_Shdr *> SymtabOrErr = Obj.getSection(Sec.sh_link)) { in getGroups()
3775 if (Expected<const Elf_Shdr *> SecOrErr = Obj.getSection(Ndx)) { in getGroups()
3916 auto GetEntriesNum = [&](const Elf_Shdr &Sec) -> Expected<size_t> { in printRelocations()
3942 for (const Elf_Shdr &Sec : cantFail(this->Obj.sections())) { in printRelocations()
4019 ArrayRef<Elf_Shdr> Sections = cantFail(this->Obj.sections()); in printSectionHeaders()
4050 for (const Elf_Shdr &Sec : Sections) { in printSectionHeaders()
4089 void GNUELFDumper<ELFT>::printSymtabMessage(const Elf_Shdr *Symtab, in printSymtabMessage()
4432 ArrayRef<Elf_Shdr> Sections = cantFail(this->Obj.sections()); in printSectionDetails()
4475 for (const Elf_Shdr &S : Sections) { in printSectionDetails()
4700 DenseSet<const Elf_Shdr *> BelongsToSegment; in printSectionMapping()
4715 for (const Elf_Shdr &Sec : cantFail(this->Obj.sections())) { in printSectionMapping()
4737 for (const Elf_Shdr &Sec : cantFail(this->Obj.sections())) { in printSectionMapping()
4844 void ELFDumper<ELFT>::printRelocationsHelper(const Elf_Shdr &Sec) { in printRelocationsHelper()
4847 [&](const Relocation<ELFT> &R, unsigned Ndx, const Elf_Shdr &Sec, in printRelocationsHelper()
4848 const Elf_Shdr *SymTab) { printReloc(R, Ndx, Sec, SymTab); }, in printRelocationsHelper()
4915 void GNUELFDumper<ELFT>::printVersionSymbolSection(const Elf_Shdr *Sec) { in printVersionSymbolSection()
5000 void GNUELFDumper<ELFT>::printVersionDefinitionSection(const Elf_Shdr *Sec) { in printVersionDefinitionSection()
5027 void GNUELFDumper<ELFT>::printVersionDependencySection(const Elf_Shdr *Sec) { in printVersionDependencySection()
6243 function_ref<void(const Elf_Shdr &)> OnSectionStart, in printDependentLibsHelper()
6251 for (const Elf_Shdr &Shdr : cantFail(Obj.sections())) { in printDependentLibsHelper()
6280 const Elf_Shdr &Sec, bool RawRelr, in forEachRelocationDo() argument
6282 const Elf_Shdr &, const Elf_Shdr *)> in forEachRelocationDo()
6294 const Elf_Shdr *SymTab; in forEachRelocationDo()
6298 Expected<const Elf_Shdr *> SymTabOrErr = Obj.getSection(Sec.sh_link); in forEachRelocationDo()
6360 StringRef ELFDumper<ELFT>::getPrintableSectionName(const Elf_Shdr &Sec) const { in getPrintableSectionName()
6390 auto OnSectionStart = [&](const Elf_Shdr &Shdr) { in printDependentLibs()
6408 uint64_t SymValue, std::optional<const Elf_Shdr *> FunctionSec) { in getSymbolIndexesForFunctionAddress()
6451 if (Expected<const Elf_Shdr *> SecOrErr = in getSymbolIndexesForFunctionAddress()
6474 uint64_t SymValue, std::optional<const Elf_Shdr *> FunctionSec, in printFunctionStackSize()
6475 const Elf_Shdr &StackSizeSec, DataExtractor Data, uint64_t *Offset) { in printFunctionStackSize()
6518 const Elf_Shdr &RelocSec, unsigned Ndx, in printStackSize()
6519 const Elf_Shdr *SymTab, in printStackSize()
6520 const Elf_Shdr *FunctionSec, in printStackSize()
6521 const Elf_Shdr &StackSizeSec, in printStackSize()
6537 Expected<const Elf_Shdr *> SectionOrErr = in printStackSize()
6574 for (const Elf_Shdr &Sec : cantFail(Obj.sections())) { in printNonRelocatableStackSizes()
6604 auto IsMatch = [&](const Elf_Shdr &Sec) -> bool { in printRelocatableStackSizes()
6614 Expected<MapVector<const Elf_Shdr *, const Elf_Shdr *>> in printRelocatableStackSizes()
6624 const Elf_Shdr *StackSizesELFSec = StackSizeMapEntry.first; in printRelocatableStackSizes()
6625 const Elf_Shdr *RelocSec = StackSizeMapEntry.second; in printRelocatableStackSizes()
6639 const Elf_Shdr *FunctionSec = unwrapOrError( in printRelocatableStackSizes()
6651 [&](const Relocation<ELFT> &R, unsigned Ndx, const Elf_Shdr &Sec, in printRelocatableStackSizes()
6652 const Elf_Shdr *SymTab) { in printRelocatableStackSizes()
7027 for (const Elf_Shdr &Sec : cantFail(this->Obj.sections())) { in printRelocations()
7067 void LLVMELFDumper<ELFT>::printRelocationSectionInfo(const Elf_Shdr &Sec, in printRelocationSectionInfo()
7101 for (const Elf_Shdr &Sec : cantFail(this->Obj.sections())) { in printSectionHeaders()
7134 const Elf_Shdr *SymSec = unwrapOrError( in printSectionHeaders()
7335 void LLVMELFDumper<ELFT>::printVersionSymbolSection(const Elf_Shdr *Sec) { in printVersionSymbolSection()
7342 const Elf_Shdr *SymTabSec; in printVersionSymbolSection()
7369 void LLVMELFDumper<ELFT>::printVersionDefinitionSection(const Elf_Shdr *Sec) { in printVersionDefinitionSection()
7394 void LLVMELFDumper<ELFT>::printVersionDependencySection(const Elf_Shdr *Sec) { in printVersionDependencySection()
7496 auto IsMatch = [](const Elf_Shdr &Sec) -> bool { in printCGProfile()
7500 Expected<MapVector<const Elf_Shdr *, const Elf_Shdr *>> SecToRelocMapOrErr = in printCGProfile()
7509 const Elf_Shdr *CGSection = CGMapEntry.first; in printCGProfile()
7510 const Elf_Shdr *CGRelSection = CGMapEntry.second; in printCGProfile()
7547 using Elf_Shdr = typename ELFT::Shdr; in printBBAddrMaps() typedef
7548 auto IsMatch = [](const Elf_Shdr &Sec) -> bool { in printBBAddrMaps()
7552 Expected<MapVector<const Elf_Shdr *, const Elf_Shdr *>> SecRelocMapOrErr = in printBBAddrMaps()
7561 std::optional<const Elf_Shdr *> FunctionSec; in printBBAddrMaps()
7846 for (const Elf_Shdr &Shdr : cantFail(this->Obj.sections())) { in printELFLinkerOptions()
7889 [](const Elf_Shdr &) {}, in printDependentLibs() argument
8082 void JSONELFDumper<ELFT>::printRelocationSectionInfo(const Elf_Shdr &Sec, in printRelocationSectionInfo()