LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ELF.h File Reference

#include "llvm/Support/DataTypes.h"
#include <cstring>
#include <cstdlib>

Include dependency graph for ELF.h:

Go to the source code of this file.

Namespaces

namespace  llvm
namespace  llvm::ELF

Classes

struct  llvm::ELF::Elf32_Ehdr
struct  llvm::ELF::Elf64_Ehdr
struct  llvm::ELF::Elf32_Shdr
struct  llvm::ELF::Elf64_Shdr
struct  llvm::ELF::Elf32_Sym
struct  llvm::ELF::Elf32_Rel
struct  llvm::ELF::Elf32_Rela
struct  llvm::ELF::Elf32_Phdr

Typedefs

typedef uint32_t llvm::ELF::Elf32_Addr
typedef uint16_t llvm::ELF::Elf32_Half
typedef uint32_t llvm::ELF::Elf32_Off
typedef int32_t llvm::ELF::Elf32_Sword
typedef uint32_t llvm::ELF::Elf32_Word
typedef uint64_t llvm::ELF::Elf64_Addr
typedef uint64_t llvm::ELF::Elf64_Off
typedef int32_t llvm::ELF::Elf64_Shalf
typedef int32_t llvm::ELF::Elf64_Sword
typedef uint32_t llvm::ELF::Elf64_Word
typedef int64_t llvm::ELF::Elf64_Sxword
typedef uint64_t llvm::ELF::Elf64_Xword
typedef uint32_t llvm::ELF::Elf64_Half
typedef uint16_t llvm::ELF::Elf64_Quarter

Enumerations

enum  {
  llvm::ELF::ET_NONE = 0, llvm::ELF::ET_REL = 1, llvm::ELF::ET_EXEC = 2, llvm::ELF::ET_DYN = 3,
  llvm::ELF::ET_CORE = 4, llvm::ELF::ET_LOPROC = 0xff00, llvm::ELF::ET_HIPROC = 0xffff
}
enum  {
  llvm::ELF::EM_NONE = 0, llvm::ELF::EM_M32 = 1, llvm::ELF::EM_SPARC = 2, llvm::ELF::EM_386 = 3,
  llvm::ELF::EM_68K = 4, llvm::ELF::EM_88K = 5, llvm::ELF::EM_486 = 6, llvm::ELF::EM_860 = 7,
  llvm::ELF::EM_MIPS = 8, llvm::ELF::EM_PPC = 20, llvm::ELF::EM_ARM = 40, llvm::ELF::EM_ALPHA = 41,
  llvm::ELF::EM_SPARCV9 = 43
}
enum  { llvm::ELF::ELFCLASS32 = 1, llvm::ELF::ELFCLASS64 = 2 }
enum  { llvm::ELF::ELFDATA2LSB = 1, llvm::ELF::ELFDATA2MSB = 2 }
enum  {
  llvm::ELF::SHN_UNDEF = 0, llvm::ELF::SHN_LORESERVE = 0xff00, llvm::ELF::SHN_LOPROC = 0xff00, llvm::ELF::SHN_HIPROC = 0xff1f,
  llvm::ELF::SHN_ABS = 0xfff1, llvm::ELF::SHN_COMMON = 0xfff2, llvm::ELF::SHN_HIRESERVE = 0xffff
}
enum  {
  llvm::ELF::SHT_NULL = 0, llvm::ELF::SHT_PROGBITS = 1, llvm::ELF::SHT_SYMTAB = 2, llvm::ELF::SHT_STRTAB = 3,
  llvm::ELF::SHT_RELA = 4, llvm::ELF::SHT_HASH = 5, llvm::ELF::SHT_DYNAMIC = 6, llvm::ELF::SHT_NOTE = 7,
  llvm::ELF::SHT_NOBITS = 8, llvm::ELF::SHT_REL = 9, llvm::ELF::SHT_SHLIB = 10, llvm::ELF::SHT_DYNSYM = 11,
  llvm::ELF::SHT_LOPROC = 0x70000000, llvm::ELF::SHT_HIPROC = 0x7fffffff, llvm::ELF::SHT_LOUSER = 0x80000000, llvm::ELF::SHT_HIUSER = 0xffffffff
}
enum  { llvm::ELF::SHF_WRITE = 0x1, llvm::ELF::SHF_ALLOC = 0x2, llvm::ELF::SHF_EXECINSTR = 0x4, llvm::ELF::SHF_MASKPROC = 0xf0000000 }
enum  {
  llvm::ELF::STB_LOCAL = 0, llvm::ELF::STB_GLOBAL = 1, llvm::ELF::STB_WEAK = 2, llvm::ELF::STB_LOPROC = 13,
  llvm::ELF::STB_HIPROC = 15
}
enum  {
  llvm::ELF::STT_NOTYPE = 0, llvm::ELF::STT_OBJECT = 1, llvm::ELF::STT_FUNC = 2, llvm::ELF::STT_SECTION = 3,
  llvm::ELF::STT_FILE = 4, llvm::ELF::STT_LOPROC = 13, llvm::ELF::STT_HIPROC = 15
}
enum  {
  llvm::ELF::PT_NULL = 0, llvm::ELF::PT_LOAD = 1, llvm::ELF::PT_DYNAMIC = 2, llvm::ELF::PT_INTERP = 3,
  llvm::ELF::PT_NOTE = 4, llvm::ELF::PT_SHLIB = 5, llvm::ELF::PT_PHDR = 6, llvm::ELF::PT_LOPROC = 0x70000000,
  llvm::ELF::PT_HIPROC = 0x7fffffff
}

Variables

static const char llvm::ELF::ElfMagic [] = { 0x7f, 'E', 'L', 'F', '\0' }