reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
207 DynRegionInfo createDRIFrom(const Elf_Phdr *P, uintX_t EntSize) { 207 DynRegionInfo createDRIFrom(const Elf_Phdr *P, uintX_t EntSize) { 212 DynRegionInfo createDRIFrom(const Elf_Shdr *S) { 221 std::pair<const Elf_Phdr *, const Elf_Shdr *> 221 std::pair<const Elf_Phdr *, const Elf_Shdr *> 226 StringRef getSymbolVersion(StringRef StrTab, const Elf_Sym *symb, 229 void LoadVersionNeeds(const Elf_Shdr *ec) const; 230 void LoadVersionDefs(const Elf_Shdr *sec) const; 241 const Elf_Hash *HashTable = nullptr; 242 const Elf_GnuHash *GnuHashTable = nullptr; 243 const Elf_Shdr *DotSymtabSec = nullptr; 244 const Elf_Shdr *DotCGProfileSec = nullptr; 245 const Elf_Shdr *DotAddrsigSec = nullptr; 247 ArrayRef<Elf_Word> ShndxTable; 249 const Elf_Shdr *SymbolVersionSection = nullptr; // .gnu.version 250 const Elf_Shdr *SymbolVersionNeedSection = nullptr; // .gnu.version_r 251 const Elf_Shdr *SymbolVersionDefSection = nullptr; // .gnu.version_d 260 VersionMapEntry(const Elf_Verdef *verdef) 262 VersionMapEntry(const Elf_Vernaux *vernaux) 268 const Elf_Verdef *getVerdef() const { 271 const Elf_Vernaux *getVernaux() const { 278 Elf_Dyn_Range dynamic_table() const { 283 Elf_Dyn_Range Table = DynamicTable.getAsArrayRef<Elf_Dyn>(); 283 Elf_Dyn_Range Table = DynamicTable.getAsArrayRef<Elf_Dyn>(); 293 Elf_Sym_Range dynamic_symbols() const { 294 return DynSymRegion.getAsArrayRef<Elf_Sym>(); 297 Elf_Rel_Range dyn_rels() const; 298 Elf_Rela_Range dyn_relas() const; 299 Elf_Relr_Range dyn_relrs() const; 300 std::string getFullSymbolName(const Elf_Sym *Symbol, StringRef StrTable, 302 void getSectionNameIndex(const Elf_Sym *Symbol, const Elf_Sym *FirstSym, 302 void getSectionNameIndex(const Elf_Sym *Symbol, const Elf_Sym *FirstSym, 314 const Elf_Shdr *getDotSymtabSec() const { return DotSymtabSec; } 315 const Elf_Shdr *getDotCGProfileSec() const { return DotCGProfileSec; } 316 const Elf_Shdr *getDotAddrsigSec() const { return DotAddrsigSec; } 317 ArrayRef<Elf_Word> getShndxTable() const { return ShndxTable; } 324 const Elf_Hash *getHashTable() const { return HashTable; } 325 const Elf_GnuHash *getGnuHashTable() const { return GnuHashTable; } 332 Elf_Sym_Range Syms(nullptr, nullptr); 646 void ELFDumper<ELFT>::LoadVersionNeeds(const Elf_Shdr *Sec) const { 656 if (VerneedBuf + sizeof(Elf_Verneed) > VerneedEnd) 659 const Elf_Verneed *Verneed = 667 if (VernauxBuf + sizeof(Elf_Vernaux) > VerneedEnd) 670 const Elf_Vernaux *Vernaux = 685 void ELFDumper<ELFT>::LoadVersionDefs(const Elf_Shdr *Sec) const { 694 if (VerdefBuf + sizeof(Elf_Verdef) > VerdefEnd) 697 const Elf_Verdef *Verdef = reinterpret_cast<const Elf_Verdef *>(VerdefBuf); 731 const Elf_Sym *Sym, 743 sizeof(Elf_Sym); 746 const Elf_Versym *Versym = unwrapOrError( 747 ObjF->getFileName(), ObjF->getELFFile()->template getEntry<Elf_Versym>( 809 std::string ELFDumper<ELFT>::getFullSymbolName(const Elf_Sym *Symbol, 818 Elf_Sym_Range Syms = unwrapOrError( 837 void ELFDumper<ELFT>::getSectionNameIndex(const Elf_Sym *Symbol, 838 const Elf_Sym *FirstSym, 1433 const Elf_Phdr *DynamicPhdr = nullptr; 1434 for (const Elf_Phdr &Phdr : 1443 const Elf_Shdr *DynamicSec = nullptr; 1444 for (const Elf_Shdr &Sec : 1485 const Elf_Phdr *DynamicPhdr; 1486 const Elf_Shdr *DynamicSec; 1494 FromPhdr = createDRIFrom(DynamicPhdr, sizeof(Elf_Dyn)); 1495 IsPhdrTableValid = !FromPhdr.getAsArrayRef<Elf_Dyn>().empty(); 1507 DynamicSec->sh_size, sizeof(Elf_Dyn), ObjF->getFileName()}); 1508 IsSecTableValid = !FromSec.getAsArrayRef<Elf_Dyn>().empty(); 1568 for (const Elf_Shdr &Sec : 1710 for (const Elf_Dyn &Dyn : dynamic_table()) { 1746 DynSymRegion.EntSize = sizeof(Elf_Sym); 1785 DynPLTRelRegion.EntSize = sizeof(Elf_Rel); 1787 DynPLTRelRegion.EntSize = sizeof(Elf_Rela); 1807 typename ELFDumper<ELFT>::Elf_Rel_Range ELFDumper<ELFT>::dyn_rels() const { 1808 return DynRelRegion.getAsArrayRef<Elf_Rel>(); 1812 typename ELFDumper<ELFT>::Elf_Rela_Range ELFDumper<ELFT>::dyn_relas() const { 1817 typename ELFDumper<ELFT>::Elf_Relr_Range ELFDumper<ELFT>::dyn_relrs() const { 1818 return DynRelrRegion.getAsArrayRef<Elf_Relr>(); 2210 Elf_Sym_Range Syms = dynamic_symbols(); 2259 for (const ELFO::Elf_Shdr &Sec : 2638 const Elf_Shdr *Shdr = findSectionByName(*Obj, ObjF->getFileName(), ".reginfo"); 2657 const Elf_Shdr *Shdr = 2689 const Elf_Shdr *StackMapSection = nullptr;