LLVM  13.0.0git
Classes | Namespaces | Typedefs | Enumerations | Functions
ELF.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/BinaryFormat/ELF.h"
#include "llvm/Object/ELFTypes.h"
#include "llvm/Object/Error.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/Error.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <limits>
#include <utility>
Include dependency graph for ELF.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  llvm::object::VerdAux
struct  llvm::object::VerDef
struct  llvm::object::VernAux
struct  llvm::object::VerNeed
struct  llvm::object::VersionEntry
class  llvm::object::ELFFile< ELFT >
struct  llvm::object::DataRegion< T >
class  llvm::object::ELFFile< ELFT >


 This class represents lattice values for constants.


using llvm::object::ELF32LEFile = ELFFile< ELF32LE >
using llvm::object::ELF64LEFile = ELFFile< ELF64LE >
using llvm::object::ELF32BEFile = ELFFile< ELF32BE >
using llvm::object::ELF64BEFile = ELFFile< ELF64BE >


enum  llvm::object::PPCInstrMasks : uint64_t {
  llvm::object::PADDI_R12_NO_DISP = 0x0610000039800000, llvm::object::ADDIS_R12_TO_R2_NO_DISP = 0x3D820000, llvm::object::ADDI_R12_TO_R2_NO_DISP = 0x39820000, llvm::object::ADDI_R12_TO_R12_NO_DISP = 0x398C0000,
  llvm::object::PLD_R12_NO_DISP = 0x04100000E5800000, llvm::object::MTCTR_R12 = 0x7D8903A6, llvm::object::BCTR = 0x4E800420


StringRef llvm::object::getELFRelocationTypeName (uint32_t Machine, uint32_t Type)
uint32_t llvm::object::getELFRelativeRelocationType (uint32_t Machine)
StringRef llvm::object::getELFSectionTypeName (uint32_t Machine, uint32_t Type)
std::pair< unsigned char, unsigned char > llvm::object::getElfArchType (StringRef Object)
static Error llvm::object::createError (const Twine &Err)
template<class ELFT >
std::string llvm::object::getSecIndexForError (const ELFFile< ELFT > &Obj, const typename ELFT::Shdr &Sec)
template<class ELFT >
static std::string llvm::object::describe (const ELFFile< ELFT > &Obj, const typename ELFT::Shdr &Sec)
template<class ELFT >
std::string llvm::object::getPhdrIndexForError (const ELFFile< ELFT > &Obj, const typename ELFT::Phdr &Phdr)
static Error llvm::object::defaultWarningHandler (const Twine &Msg)
template<class ELFT >
Expected< const typename ELFT::Shdr * > llvm::object::getSection (typename ELFT::ShdrRange Sections, uint32_t Index)
template<class ELFT >
Expected< uint32_tllvm::object::getExtendedSymbolTableIndex (const typename ELFT::Sym &Sym, unsigned SymIndex, DataRegion< typename ELFT::Word > ShndxTable)
template<class ELFT >
static Expected< uint64_t > llvm::object::getDynSymtabSizeFromGnuHash (const typename ELFT::GnuHash &Table, const void *BufEnd)
 This function finds the number of dynamic symbols using a GNU hash table. More...
unsigned llvm::object::hashSysV (StringRef SymbolName)
 This function returns the hash value for a symbol in the .dynsym section Name of the API remains consistent as specified in the libelf REF : http://www.sco.com/developers/gabi/latest/ch5.dynamic.html#hash. More...