template <class Sym>

struct SymBase

Defined at line 139 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h

A base class for the sym layout, allowing the Elf

<

...>::Sym definitions

below to share these methods.

Public Methods

ElfSymBind bind ()

Defined at line 140 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h

ElfSymType type ()

Defined at line 144 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h

uint8_t MakeInfo (ElfSymBind bind, ElfSymType type)

Defined at line 148 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h

ElfSymVisibility visibility ()

Defined at line 153 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h

bool runtime_local ()

Returns true if this symbol as the referent of a dynamic relocation will

always be resolved just to itself in the referring module. This assumes

that STV_PROTECTED does not need to be resolved to ET_EXEC PLT or COPY

reloc sites. Note also that the null symbol with index zero always has

all zero fields and thus STB_LOCAL binding, so this returns true for it.

Relocations using symbol zero are implicitly resolved as module-relative

since its st_value is also zero.

Defined at line 164 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h

bool is_public ()

True if the symbol is visible outside the module for dynamic linking.

Defined at line 169 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h

bool has_vaddr ()

True if the symbol's value field is a vaddr (after load bias).

Defined at line 188 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h