LLVM  3.7.0
Classes | Namespaces | Macros | Typedefs
ELFTypes.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/Object/Error.h"
#include "llvm/Support/DataTypes.h"
#include "llvm/Support/ELF.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/ErrorOr.h"
Include dependency graph for ELFTypes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  llvm::object::ELFType< target_endianness, is64Bits >
 
struct  llvm::object::ELFDataTypeTypedefHelperCommon< target_endianness >
 
struct  llvm::object::ELFDataTypeTypedefHelper< ELFT >
 
struct  llvm::object::ELFDataTypeTypedefHelper< ELFType< TargetEndianness, false > >
 ELF 32bit types. More...
 
struct  llvm::object::ELFDataTypeTypedefHelper< ELFType< TargetEndianness, true > >
 ELF 64bit types. More...
 
struct  llvm::object::Elf_Shdr_Base< ELFT >
 
struct  llvm::object::Elf_Shdr_Base< ELFType< TargetEndianness, false > >
 
struct  llvm::object::Elf_Shdr_Base< ELFType< TargetEndianness, true > >
 
struct  llvm::object::Elf_Shdr_Impl< ELFT >
 
struct  llvm::object::Elf_Sym_Base< ELFT >
 
struct  llvm::object::Elf_Sym_Base< ELFType< TargetEndianness, false > >
 
struct  llvm::object::Elf_Sym_Base< ELFType< TargetEndianness, true > >
 
struct  llvm::object::Elf_Sym_Impl< ELFT >
 
struct  llvm::object::Elf_Versym_Impl< ELFT >
 Elf_Versym: This is the structure of entries in the SHT_GNU_versym section (.gnu.version). More...
 
struct  llvm::object::Elf_Verdaux_Impl< ELFT >
 Elf_Verdaux: This is the structure of auxiliary data in the SHT_GNU_verdef section (.gnu.version_d). More...
 
struct  llvm::object::Elf_Verdef_Impl< ELFT >
 Elf_Verdef: This is the structure of entries in the SHT_GNU_verdef section (.gnu.version_d). More...
 
struct  llvm::object::Elf_Verdaux_Impl< ELFT >
 Elf_Verdaux: This is the structure of auxiliary data in the SHT_GNU_verdef section (.gnu.version_d). More...
 
struct  llvm::object::Elf_Verneed_Impl< ELFT >
 Elf_Verneed: This is the structure of entries in the SHT_GNU_verneed section (.gnu.version_r). More...
 
struct  llvm::object::Elf_Vernaux_Impl< ELFT >
 Elf_Vernaux: This is the structure of auxiliary data in SHT_GNU_verneed section (.gnu.version_r). More...
 
struct  llvm::object::Elf_Dyn_Base< ELFT >
 Elf_Dyn_Base: This structure matches the form of entries in the dynamic table section (.dynamic) look like. More...
 
struct  llvm::object::Elf_Dyn_Base< ELFType< TargetEndianness, false > >
 
struct  llvm::object::Elf_Dyn_Base< ELFType< TargetEndianness, true > >
 
struct  llvm::object::Elf_Dyn_Impl< ELFT >
 Elf_Dyn_Impl: This inherits from Elf_Dyn_Base, adding getters and setters. More...
 
struct  llvm::object::Elf_Rel_Impl< ELFT, isRela >
 
struct  llvm::object::Elf_Rel_Impl< ELFType< TargetEndianness, false >, false >
 
struct  llvm::object::Elf_Rel_Impl< ELFType< TargetEndianness, false >, true >
 
struct  llvm::object::Elf_Rel_Impl< ELFType< TargetEndianness, true >, false >
 
struct  llvm::object::Elf_Rel_Impl< ELFType< TargetEndianness, true >, true >
 
struct  llvm::object::Elf_Ehdr_Impl< ELFT >
 
struct  llvm::object::Elf_Phdr_Impl< ELFT >
 
struct  llvm::object::Elf_Phdr_Impl< ELFType< TargetEndianness, false > >
 
struct  llvm::object::Elf_Phdr_Impl< ELFType< TargetEndianness, true > >
 
struct  llvm::object::Elf_Hash_Impl< ELFT >
 
struct  llvm::object::Elf_Mips_RegInfo< ELFT >
 
struct  llvm::object::Elf_Mips_RegInfo< ELFType< TargetEndianness, false > >
 
struct  llvm::object::Elf_Mips_RegInfo< ELFType< TargetEndianness, true > >
 
struct  llvm::object::Elf_Mips_Options< ELFT >
 
struct  llvm::object::Elf_Mips_ABIFlags< ELFT >
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 
 llvm::object
 

Macros

#define LLVM_ELF_IMPORT_TYPES(E, W)
 
#define LLVM_ELF_IMPORT_TYPES_ELFT(ELFT)   LLVM_ELF_IMPORT_TYPES(ELFT::TargetEndianness, ELFT::Is64Bits)
 

Typedefs

typedef ELFType
< support::little, false
llvm::object::ELF32LE
 
typedef ELFType< support::big,
false
llvm::object::ELF32BE
 
typedef ELFType
< support::little, true
llvm::object::ELF64LE
 
typedef ELFType< support::big,
true
llvm::object::ELF64BE
 

Macro Definition Documentation

#define LLVM_ELF_IMPORT_TYPES (   E,
 
)
Value:
typedef typename ELFDataTypeTypedefHelper<ELFType<E, W>>::Elf_Addr Elf_Addr; \
typedef typename ELFDataTypeTypedefHelper<ELFType<E, W>>::Elf_Off Elf_Off; \
typedef typename ELFDataTypeTypedefHelper<ELFType<E, W>>::Elf_Half Elf_Half; \
typedef typename ELFDataTypeTypedefHelper<ELFType<E, W>>::Elf_Word Elf_Word; \
typedef \
typename ELFDataTypeTypedefHelper<ELFType<E, W>>::Elf_Sword Elf_Sword; \
typedef \
typename ELFDataTypeTypedefHelper<ELFType<E, W>>::Elf_Xword Elf_Xword; \
typedef \
typename ELFDataTypeTypedefHelper<ELFType<E, W>>::Elf_Sxword Elf_Sxword;

Definition at line 77 of file ELFTypes.h.

#define LLVM_ELF_IMPORT_TYPES_ELFT (   ELFT)    LLVM_ELF_IMPORT_TYPES(ELFT::TargetEndianness, ELFT::Is64Bits)

Definition at line 89 of file ELFTypes.h.