Flutter Engine
The Flutter Engine
Classes | Enumerations | Functions | Variables
dart::elf Namespace Reference

Classes

struct  DynamicEntry
 
struct  ElfHeader
 
struct  Note
 
struct  ProgramHeader
 
struct  SectionHeader
 
struct  Symbol
 

Enumerations

enum class  ProgramHeaderType : uint32_t {
  PT_NULL = 0 , PT_LOAD = 1 , PT_DYNAMIC = 2 , PT_NOTE = 4 ,
  PT_PHDR = 6 , PT_GNU_STACK = 0x6474e551
}
 
enum class  SectionHeaderType : uint32_t {
  SHT_NULL = 0 , SHT_PROGBITS = 1 , SHT_SYMTAB = 2 , SHT_STRTAB = 3 ,
  SHT_HASH = 5 , SHT_NOTE = 7 , SHT_NOBITS = 8 , SHT_DYNAMIC = 6 ,
  SHT_DYNSYM = 11
}
 
enum class  DynamicEntryType : uint32_t {
  DT_NULL = 0 , DT_HASH = 4 , DT_STRTAB = 5 , DT_SYMTAB = 6 ,
  DT_STRSZ = 10 , DT_SYMENT = 11
}
 
enum class  NoteType : uint32_t { NT_GNU_BUILD_ID = 3 }
 

Functions

constexpr decltype(Symbol::infoSymbolInfo (intptr_t binding, intptr_t type)
 
constexpr intptr_t SymbolBinding (const decltype(Symbol::info) info)
 
constexpr intptr_t SymbolType (const decltype(Symbol::info) info)
 

Variables

static constexpr intptr_t ELFCLASS32 = 1
 
static constexpr intptr_t ELFCLASS64 = 2
 
static constexpr intptr_t EI_DATA = 5
 
static constexpr intptr_t ELFDATA2LSB = 1
 
static constexpr intptr_t ELFOSABI_SYSV = 0
 
static constexpr intptr_t ET_DYN = 3
 
static constexpr intptr_t EF_ARM_ABI_FLOAT_HARD = 0x00000400
 
static constexpr intptr_t EF_ARM_ABI_FLOAT_SOFT = 0x00000200
 
static constexpr intptr_t EF_ARM_ABI = 0x05000000
 
static constexpr intptr_t EM_386 = 3
 
static constexpr intptr_t EM_ARM = 40
 
static constexpr intptr_t EM_X86_64 = 62
 
static constexpr intptr_t EM_AARCH64 = 183
 
static constexpr intptr_t EM_RISCV = 243
 
static constexpr intptr_t EV_CURRENT = 1
 
static constexpr intptr_t PF_X = 1
 
static constexpr intptr_t PF_W = 2
 
static constexpr intptr_t PF_R = 4
 
static constexpr intptr_t SHF_WRITE = 0x1
 
static constexpr intptr_t SHF_ALLOC = 0x2
 
static constexpr intptr_t SHF_EXECINSTR = 0x4
 
static constexpr intptr_t SHN_UNDEF = 0
 
static constexpr intptr_t STN_UNDEF = 0
 
static constexpr intptr_t STB_LOCAL = 0
 
static constexpr intptr_t STB_GLOBAL = 1
 
static constexpr intptr_t STT_NOTYPE = 0
 
static constexpr intptr_t STT_OBJECT = 1
 
static constexpr intptr_t STT_FUNC = 2
 
static constexpr intptr_t STT_SECTION = 3
 
static constexpr const char ELF_NOTE_GNU [] = "GNU"
 

Enumeration Type Documentation

◆ DynamicEntryType

enum class dart::elf::DynamicEntryType : uint32_t
strong
Enumerator
DT_NULL 
DT_HASH 
DT_STRTAB 
DT_SYMTAB 
DT_STRSZ 
DT_SYMENT 

Definition at line 125 of file elf.h.

◆ NoteType

enum class dart::elf::NoteType : uint32_t
strong
Enumerator
NT_GNU_BUILD_ID 

Definition at line 144 of file elf.h.

144 : uint32_t {
145 NT_GNU_BUILD_ID = 3,
146};

◆ ProgramHeaderType

enum class dart::elf::ProgramHeaderType : uint32_t
strong
Enumerator
PT_NULL 
PT_LOAD 
PT_DYNAMIC 
PT_NOTE 
PT_PHDR 
PT_GNU_STACK 

Definition at line 38 of file elf.h.

◆ SectionHeaderType

enum class dart::elf::SectionHeaderType : uint32_t
strong
Enumerator
SHT_NULL 
SHT_PROGBITS 
SHT_SYMTAB 
SHT_STRTAB 
SHT_HASH 
SHT_NOTE 
SHT_NOBITS 
SHT_DYNAMIC 
SHT_DYNSYM 

Definition at line 69 of file elf.h.

Function Documentation

◆ SymbolBinding()

constexpr intptr_t dart::elf::SymbolBinding ( const decltype(Symbol::info info)
constexpr

Definition at line 209 of file elf.h.

209 {
210 return (info >> 4) & 0xf;
211}
static void info(const char *fmt,...) SK_PRINTF_LIKE(1
Definition: DM.cpp:213

◆ SymbolInfo()

constexpr decltype(Symbol::info) dart::elf::SymbolInfo ( intptr_t  binding,
intptr_t  type 
)
constexpr

Definition at line 202 of file elf.h.

202 {
203 // Take the low nibble of each value in case, though the upper bits should
204 // all be zero as long as STB/STT constants are used.
205 return (binding & 0xf) << 4 | (type & 0xf);
206}
GLenum type

◆ SymbolType()

constexpr intptr_t dart::elf::SymbolType ( const decltype(Symbol::info info)
constexpr

Definition at line 214 of file elf.h.

214 {
215 return info & 0xf;
216}

Variable Documentation

◆ EF_ARM_ABI

constexpr intptr_t dart::elf::EF_ARM_ABI = 0x05000000
staticconstexpr

Definition at line 169 of file elf.h.

◆ EF_ARM_ABI_FLOAT_HARD

constexpr intptr_t dart::elf::EF_ARM_ABI_FLOAT_HARD = 0x00000400
staticconstexpr

Definition at line 167 of file elf.h.

◆ EF_ARM_ABI_FLOAT_SOFT

constexpr intptr_t dart::elf::EF_ARM_ABI_FLOAT_SOFT = 0x00000200
staticconstexpr

Definition at line 168 of file elf.h.

◆ EI_DATA

constexpr intptr_t dart::elf::EI_DATA = 5
staticconstexpr

Definition at line 160 of file elf.h.

◆ ELF_NOTE_GNU

constexpr const char dart::elf::ELF_NOTE_GNU[] = "GNU"
staticconstexpr

Definition at line 199 of file elf.h.

◆ ELFCLASS32

constexpr intptr_t dart::elf::ELFCLASS32 = 1
staticconstexpr

Definition at line 157 of file elf.h.

◆ ELFCLASS64

constexpr intptr_t dart::elf::ELFCLASS64 = 2
staticconstexpr

Definition at line 158 of file elf.h.

◆ ELFDATA2LSB

constexpr intptr_t dart::elf::ELFDATA2LSB = 1
staticconstexpr

Definition at line 161 of file elf.h.

◆ ELFOSABI_SYSV

constexpr intptr_t dart::elf::ELFOSABI_SYSV = 0
staticconstexpr

Definition at line 163 of file elf.h.

◆ EM_386

constexpr intptr_t dart::elf::EM_386 = 3
staticconstexpr

Definition at line 171 of file elf.h.

◆ EM_AARCH64

constexpr intptr_t dart::elf::EM_AARCH64 = 183
staticconstexpr

Definition at line 174 of file elf.h.

◆ EM_ARM

constexpr intptr_t dart::elf::EM_ARM = 40
staticconstexpr

Definition at line 172 of file elf.h.

◆ EM_RISCV

constexpr intptr_t dart::elf::EM_RISCV = 243
staticconstexpr

Definition at line 175 of file elf.h.

◆ EM_X86_64

constexpr intptr_t dart::elf::EM_X86_64 = 62
staticconstexpr

Definition at line 173 of file elf.h.

◆ ET_DYN

constexpr intptr_t dart::elf::ET_DYN = 3
staticconstexpr

Definition at line 165 of file elf.h.

◆ EV_CURRENT

constexpr intptr_t dart::elf::EV_CURRENT = 1
staticconstexpr

Definition at line 177 of file elf.h.

◆ PF_R

constexpr intptr_t dart::elf::PF_R = 4
staticconstexpr

Definition at line 181 of file elf.h.

◆ PF_W

constexpr intptr_t dart::elf::PF_W = 2
staticconstexpr

Definition at line 180 of file elf.h.

◆ PF_X

constexpr intptr_t dart::elf::PF_X = 1
staticconstexpr

Definition at line 179 of file elf.h.

◆ SHF_ALLOC

constexpr intptr_t dart::elf::SHF_ALLOC = 0x2
staticconstexpr

Definition at line 184 of file elf.h.

◆ SHF_EXECINSTR

constexpr intptr_t dart::elf::SHF_EXECINSTR = 0x4
staticconstexpr

Definition at line 185 of file elf.h.

◆ SHF_WRITE

constexpr intptr_t dart::elf::SHF_WRITE = 0x1
staticconstexpr

Definition at line 183 of file elf.h.

◆ SHN_UNDEF

constexpr intptr_t dart::elf::SHN_UNDEF = 0
staticconstexpr

Definition at line 187 of file elf.h.

◆ STB_GLOBAL

constexpr intptr_t dart::elf::STB_GLOBAL = 1
staticconstexpr

Definition at line 192 of file elf.h.

◆ STB_LOCAL

constexpr intptr_t dart::elf::STB_LOCAL = 0
staticconstexpr

Definition at line 191 of file elf.h.

◆ STN_UNDEF

constexpr intptr_t dart::elf::STN_UNDEF = 0
staticconstexpr

Definition at line 189 of file elf.h.

◆ STT_FUNC

constexpr intptr_t dart::elf::STT_FUNC = 2
staticconstexpr

Definition at line 196 of file elf.h.

◆ STT_NOTYPE

constexpr intptr_t dart::elf::STT_NOTYPE = 0
staticconstexpr

Definition at line 194 of file elf.h.

◆ STT_OBJECT

constexpr intptr_t dart::elf::STT_OBJECT = 1
staticconstexpr

Definition at line 195 of file elf.h.

◆ STT_SECTION

constexpr intptr_t dart::elf::STT_SECTION = 3
staticconstexpr

Definition at line 197 of file elf.h.