|
LLVM
4.0.0
|
#include <ELF.h>
Public Types | |
| typedef ELFT::uint | uintX_t |
| typedef ELFT::Ehdr | Elf_Ehdr |
| typedef ELFT::Shdr | Elf_Shdr |
| typedef ELFT::Sym | Elf_Sym |
| typedef ELFT::Dyn | Elf_Dyn |
| typedef ELFT::Phdr | Elf_Phdr |
| typedef ELFT::Rel | Elf_Rel |
| typedef ELFT::Rela | Elf_Rela |
| typedef ELFT::Verdef | Elf_Verdef |
| typedef ELFT::Verdaux | Elf_Verdaux |
| typedef ELFT::Verneed | Elf_Verneed |
| typedef ELFT::Vernaux | Elf_Vernaux |
| typedef ELFT::Versym | Elf_Versym |
| typedef ELFT::Hash | Elf_Hash |
| typedef ELFT::GnuHash | Elf_GnuHash |
| typedef ELFT::DynRange | Elf_Dyn_Range |
| typedef ELFT::ShdrRange | Elf_Shdr_Range |
| typedef ELFT::SymRange | Elf_Sym_Range |
| typedef ELFT::RelRange | Elf_Rel_Range |
| typedef ELFT::RelaRange | Elf_Rela_Range |
| typedef ELFT::PhdrRange | Elf_Phdr_Range |
Definition at line 41 of file Object/ELF.h.
| typedef ELFT::Dyn llvm::object::ELFFile< ELFT >::Elf_Dyn |
Definition at line 48 of file Object/ELF.h.
| typedef ELFT::DynRange llvm::object::ELFFile< ELFT >::Elf_Dyn_Range |
Definition at line 59 of file Object/ELF.h.
| typedef ELFT::Ehdr llvm::object::ELFFile< ELFT >::Elf_Ehdr |
Definition at line 45 of file Object/ELF.h.
| typedef ELFT::GnuHash llvm::object::ELFFile< ELFT >::Elf_GnuHash |
Definition at line 58 of file Object/ELF.h.
| typedef ELFT::Hash llvm::object::ELFFile< ELFT >::Elf_Hash |
Definition at line 57 of file Object/ELF.h.
| typedef ELFT::Phdr llvm::object::ELFFile< ELFT >::Elf_Phdr |
Definition at line 49 of file Object/ELF.h.
| typedef ELFT::PhdrRange llvm::object::ELFFile< ELFT >::Elf_Phdr_Range |
Definition at line 64 of file Object/ELF.h.
| typedef ELFT::Rel llvm::object::ELFFile< ELFT >::Elf_Rel |
Definition at line 50 of file Object/ELF.h.
| typedef ELFT::RelRange llvm::object::ELFFile< ELFT >::Elf_Rel_Range |
Definition at line 62 of file Object/ELF.h.
| typedef ELFT::Rela llvm::object::ELFFile< ELFT >::Elf_Rela |
Definition at line 51 of file Object/ELF.h.
| typedef ELFT::RelaRange llvm::object::ELFFile< ELFT >::Elf_Rela_Range |
Definition at line 63 of file Object/ELF.h.
| typedef ELFT::Shdr llvm::object::ELFFile< ELFT >::Elf_Shdr |
Definition at line 46 of file Object/ELF.h.
| typedef ELFT::ShdrRange llvm::object::ELFFile< ELFT >::Elf_Shdr_Range |
Definition at line 60 of file Object/ELF.h.
| typedef ELFT::Sym llvm::object::ELFFile< ELFT >::Elf_Sym |
Definition at line 47 of file Object/ELF.h.
| typedef ELFT::SymRange llvm::object::ELFFile< ELFT >::Elf_Sym_Range |
Definition at line 61 of file Object/ELF.h.
| typedef ELFT::Verdaux llvm::object::ELFFile< ELFT >::Elf_Verdaux |
Definition at line 53 of file Object/ELF.h.
| typedef ELFT::Verdef llvm::object::ELFFile< ELFT >::Elf_Verdef |
Definition at line 52 of file Object/ELF.h.
| typedef ELFT::Vernaux llvm::object::ELFFile< ELFT >::Elf_Vernaux |
Definition at line 55 of file Object/ELF.h.
| typedef ELFT::Verneed llvm::object::ELFFile< ELFT >::Elf_Verneed |
Definition at line 54 of file Object/ELF.h.
| typedef ELFT::Versym llvm::object::ELFFile< ELFT >::Elf_Versym |
Definition at line 56 of file Object/ELF.h.
| typedef ELFT::uint llvm::object::ELFFile< ELFT >::uintX_t |
Definition at line 44 of file Object/ELF.h.
| llvm::object::ELFFile< ELFT >::ELFFile | ( | StringRef | Object | ) |
Definition at line 338 of file Object/ELF.h.
References assert(), and llvm::StringRef::size().
|
inline |
Definition at line 66 of file Object/ELF.h.
References llvm::StringRef::data().
Referenced by llvm::object::ELFFile< ELFT >::getHeader(), and llvm::object::ELFFile< ELFT >::program_headers().
|
inline |
Definition at line 70 of file Object/ELF.h.
References llvm::StringRef::size().
| Expected< const T * > llvm::object::ELFFile< ELFT >::getEntry | ( | uint32_t | Section, |
| uint32_t | Entry | ||
| ) | const |
Definition at line 387 of file Object/ELF.h.
References llvm::object::getSection().
| Expected< const T * > llvm::object::ELFFile< ELFT >::getEntry | ( | const Elf_Shdr * | Section, |
| uint32_t | Entry | ||
| ) | const |
Definition at line 397 of file Object/ELF.h.
References llvm::object::createError(), and T.
|
inline |
Definition at line 77 of file Object/ELF.h.
References llvm::object::ELFFile< ELFT >::base().
Referenced by llvm::object::ELFFile< ELFT >::isMips64EL(), llvm::object::ELFFile< ELFT >::isMipsELF64(), and llvm::object::ELFFile< ELFT >::program_headers().
| Expected< const typename ELFT::Sym * > llvm::object::ELFFile< ELFT >::getRelocationSymbol | ( | const Elf_Rel * | Rel, |
| const Elf_Shdr * | SymTab | ||
| ) | const |
Get the symbol for a given relocation.
Definition at line 315 of file Object/ELF.h.
| StringRef llvm::object::ELFFile< ELFT >::getRelocationTypeName | ( | uint32_t | Type | ) | const |
Definition at line 278 of file Object/ELF.h.
References llvm::object::getELFRelocationTypeName().
| void llvm::object::ELFFile< ELFT >::getRelocationTypeName | ( | uint32_t | Type, |
| SmallVectorImpl< char > & | Result | ||
| ) | const |
Definition at line 283 of file Object/ELF.h.
References llvm::SmallVectorImpl< T >::append(), llvm::StringRef::begin(), llvm::StringRef::end(), Type2, and Type3.
| Expected< const typename ELFT::Shdr * > llvm::object::ELFFile< ELFT >::getSection | ( | const Elf_Sym * | Sym, |
| const Elf_Shdr * | SymTab, | ||
| ArrayRef< Elf_Word > | ShndxTable | ||
| ) | const |
Definition at line 210 of file Object/ELF.h.
References llvm::object::getSection().
| Expected< const typename ELFT::Shdr * > llvm::object::ELFFile< ELFT >::getSection | ( | const Elf_Sym * | Sym, |
| Elf_Sym_Range | Symtab, | ||
| ArrayRef< Elf_Word > | ShndxTable | ||
| ) | const |
Definition at line 220 of file Object/ELF.h.
| Expected< const typename ELFT::Shdr * > llvm::object::ELFFile< ELFT >::getSection | ( | uint32_t | Index | ) | const |
Definition at line 409 of file Object/ELF.h.
| Expected< ArrayRef< uint8_t > > llvm::object::ELFFile< ELFT >::getSectionContents | ( | const Elf_Shdr * | Sec | ) | const |
Definition at line 273 of file Object/ELF.h.
| Expected< ArrayRef< T > > llvm::object::ELFFile< ELFT >::getSectionContentsAsArray | ( | const Elf_Shdr * | Sec | ) | const |
Definition at line 254 of file Object/ELF.h.
References llvm::object::createError(), llvm::makeArrayRef(), and Offset.
| Expected< uint32_t > llvm::object::ELFFile< ELFT >::getSectionIndex | ( | const Elf_Sym * | Sym, |
| Elf_Sym_Range | Syms, | ||
| ArrayRef< Elf_Word > | ShndxTable | ||
| ) | const |
Definition at line 193 of file Object/ELF.h.
References llvm::ELF::SHN_LORESERVE, llvm::ELF::SHN_UNDEF, and llvm::ELF::SHN_XINDEX.
| Expected< StringRef > llvm::object::ELFFile< ELFT >::getSectionName | ( | const Elf_Shdr * | Section | ) | const |
Definition at line 487 of file Object/ELF.h.
| Expected< StringRef > llvm::object::ELFFile< ELFT >::getSectionName | ( | const Elf_Shdr * | Section, |
| StringRef | DotShstrtab | ||
| ) | const |
Definition at line 498 of file Object/ELF.h.
References llvm::object::createError(), llvm::StringRef::data(), Offset, and llvm::StringRef::size().
| Expected< StringRef > llvm::object::ELFFile< ELFT >::getSectionStringTable | ( | Elf_Shdr_Range | Sections | ) | const |
Definition at line 325 of file Object/ELF.h.
References llvm::object::createError(), and llvm::ELF::SHN_XINDEX.
| Expected< ArrayRef< typename ELFT::Word > > llvm::object::ELFFile< ELFT >::getSHNDXTable | ( | const Elf_Shdr & | Section | ) | const |
Definition at line 434 of file Object/ELF.h.
| Expected< ArrayRef< typename ELFT::Word > > llvm::object::ELFFile< ELFT >::getSHNDXTable | ( | const Elf_Shdr & | Section, |
| Elf_Shdr_Range | Sections | ||
| ) | const |
Definition at line 443 of file Object/ELF.h.
References assert(), llvm::object::createError(), llvm::ARMBuildAttrs::Section, llvm::ELF::SHT_DYNSYM, llvm::ELF::SHT_SYMTAB, llvm::ELF::SHT_SYMTAB_SHNDX, and llvm::ArrayRef< T >::size().
| Expected< StringRef > llvm::object::ELFFile< ELFT >::getStringTable | ( | const Elf_Shdr * | Section | ) | const |
Definition at line 418 of file Object/ELF.h.
References llvm::ArrayRef< T >::back(), llvm::ArrayRef< T >::begin(), llvm::object::createError(), llvm::ArrayRef< T >::empty(), llvm::ARMBuildAttrs::Section, llvm::ELF::SHT_STRTAB, and llvm::ArrayRef< T >::size().
| Expected< StringRef > llvm::object::ELFFile< ELFT >::getStringTableForSymtab | ( | const Elf_Shdr & | Section | ) | const |
Definition at line 464 of file Object/ELF.h.
| Expected< StringRef > llvm::object::ELFFile< ELFT >::getStringTableForSymtab | ( | const Elf_Shdr & | Section, |
| Elf_Shdr_Range | Sections | ||
| ) | const |
Definition at line 473 of file Object/ELF.h.
References llvm::object::createError(), llvm::ELF::SHT_DYNSYM, and llvm::ELF::SHT_SYMTAB.
| Expected< const typename ELFT::Sym * > llvm::object::ELFFile< ELFT >::getSymbol | ( | const Elf_Shdr * | Sec, |
| uint32_t | Index | ||
| ) | const |
Definition at line 244 of file Object/ELF.h.
|
inline |
Definition at line 112 of file Object/ELF.h.
References llvm::ELF::ELFDATA2LSB, llvm::object::ELFFile< ELFT >::getHeader(), and llvm::object::ELFFile< ELFT >::isMipsELF64().
|
inline |
Definition at line 107 of file Object/ELF.h.
References llvm::ELF::ELFCLASS64, llvm::ELF::EM_MIPS, and llvm::object::ELFFile< ELFT >::getHeader().
Referenced by llvm::object::ELFFile< ELFT >::isMips64EL().
|
inline |
Iterate over program header table.
Definition at line 134 of file Object/ELF.h.
References llvm::object::ELFFile< ELFT >::base(), llvm::object::createError(), llvm::object::ELFFile< ELFT >::getHeader(), and llvm::makeArrayRef().
|
inline |
Definition at line 125 of file Object/ELF.h.
|
inline |
Definition at line 129 of file Object/ELF.h.
| Expected< typename ELFT::ShdrRange > llvm::object::ELFFile< ELFT >::sections | ( | ) | const |
Definition at line 348 of file Object/ELF.h.
References llvm::object::createError(), and llvm::makeArrayRef().
|
inline |
Definition at line 119 of file Object/ELF.h.
| void llvm::object::ELFFile< ELFT >::VerifyStrTab | ( | const Elf_Shdr * | sh | ) | const |
1.8.6