|
| Symbol (const details::Elf32_Sym &header, ARCH arch) |
|
| Symbol (const details::Elf64_Sym &header, ARCH arch) |
|
| Symbol (std::string name, ELF_SYMBOL_TYPES type=ELF_SYMBOL_TYPES::STT_NOTYPE, SYMBOL_BINDINGS binding=SYMBOL_BINDINGS::STB_WEAK, uint8_t other=0, uint16_t shndx=0, uint64_t value=0, uint64_t size=0) |
|
Symbol & | operator= (Symbol other) |
|
| Symbol (const Symbol &other) |
|
void | swap (Symbol &other) |
|
ELF_SYMBOL_TYPES | type () const |
| The symbol's type provides a general classification for the associated entity.
|
|
SYMBOL_BINDINGS | binding () const |
| The symbol's binding determines the linkage visibility and behavior.
|
|
uint8_t | information () const |
| This member specifies the symbol's type and binding attributes.
|
|
uint8_t | other () const |
| Alias for visibility()
|
|
uint16_t | section_idx () const |
| ELF::Section index associated with the symbol.
|
|
ELF_SYMBOL_VISIBILITY | visibility () const |
| Symbol visibility.
|
|
Section * | section () |
| Section associated with the symbol or a nullptr if it does not exist.
|
|
uint64_t | value () const override |
| This member has slightly different interpretations:
|
|
uint64_t | size () const override |
| Symbol size.
|
|
uint16_t | shndx () const |
|
bool | has_version () const |
| Check if this symbols has a symbol version .
|
|
SymbolVersion * | symbol_version () |
| Return the SymbolVersion associated with this symbol. If there is no symbol version, return a nullptr.
|
|
const SymbolVersion * | symbol_version () const |
|
std::string | demangled_name () const |
| Symbol's unmangled name. If not available, it returns an empty string.
|
|
void | type (ELF_SYMBOL_TYPES type) |
|
void | binding (SYMBOL_BINDINGS binding) |
|
void | other (uint8_t other) |
|
void | visibility (ELF_SYMBOL_VISIBILITY visibility) |
|
void | information (uint8_t info) |
|
void | shndx (uint16_t idx) |
|
void | value (uint64_t value) override |
|
void | size (uint64_t size) override |
|
void | shndx (SYMBOL_SECTION_INDEX idx) |
|
bool | is_exported () const |
| Check if the current symbol is exported.
|
|
void | set_exported (bool flag=true) |
| Set whether or not the symbol is exported.
|
|
bool | is_imported () const |
| Check if the current symbol is imported.
|
|
void | set_imported (bool flag=true) |
| Set whether or not the symbol is imported.
|
|
bool | is_static () const |
| True if the symbol is a static one.
|
|
bool | is_function () const |
| True if the symbol represent a function.
|
|
bool | is_variable () const |
| True if the symbol represent a variable.
|
|
void | accept (Visitor &visitor) const override |
|
| Symbol (std::string name) |
|
| Symbol (std::string name, uint64_t value) |
|
| Symbol (std::string name, uint64_t value, uint64_t size) |
|
| Symbol (const Symbol &) |
|
Symbol & | operator= (const Symbol &) |
|
void | swap (Symbol &other) |
|
virtual const std::string & | name () const |
| Return the symbol's name.
|
|
virtual std::string & | name () |
|
virtual void | name (const std::string &name) |
| Set symbol name.
|
|
void | accept (Visitor &visitor) const override |
| Method so that the visitor can visit us.
|
|
| Object (const Object &other) |
|
Object & | operator= (const Object &other) |
|
template<class T > |
output_t< T > | as () |
|
template<class T > |
output_const_t< T > | as () const |
|
virtual bool | operator== (const Object &other) const |
|
virtual bool | operator!= (const Object &other) const |
|
Class which represents an ELF symbol.