ROSE
0.11.131.0
|
Symbol from .dynsym combined with additional information.
The additional information is:
Definition at line 32 of file BinaryLoaderElf.h.
#include <Rose/BinaryAnalysis/BinaryLoaderElf.h>
Public Member Functions | |
VersionedSymbol (SgAsmElfSymbol *symbol) | |
bool | isLocal () const |
Returns true if this symbol is visible only locally. More... | |
bool | isHidden () const |
Returns true if this symbol is hidden. More... | |
bool | isReference () const |
Returns true if this symbol is a reference to an object rather than the definition of the object. More... | |
bool | isBaseDefinition () const |
Returns tru if this symbol is a base definition. More... | |
SgAsmElfSymbolSection * | getSection () const |
Returns the symbol section (.dynsym) where this symbol was defined. More... | |
std::string | getVersion () const |
Returns the version string of this symbol. More... | |
std::string | getName () const |
Returns the name of this symbol. More... | |
std::string | getVersionedName () const |
Returns the full, versionioned name of this symbol. More... | |
void | versionEntry (SgAsmElfSymverEntry *entry) |
Property: Version pointer for this symbol. More... | |
void | print (std::ostream &) const |
Print used by operator<<. More... | |
void | dump (FILE *, const char *prefix, ssize_t idx) const |
Dump info like for SgAsm* objects. More... | |
void | symbol (SgAsmElfSymbol *symbol) |
Property: The symbol. | |
SgAsmElfSymbol * | symbol () const |
Property: The symbol. | |
SgAsmElfSymverDefinedEntry * | versionDef () const |
Property: Version definition of this symbol. More... | |
void | versionDef (SgAsmElfSymverDefinedEntry *def) |
Property: Version definition of this symbol. More... | |
SgAsmElfSymverNeededAux * | versionNeed () const |
Property: The version requirement of this symbol. More... | |
void | versionNeed (SgAsmElfSymverNeededAux *need) |
Property: The version requirement of this symbol. More... | |
bool Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::isLocal | ( | ) | const |
Returns true if this symbol is visible only locally.
bool Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::isHidden | ( | ) | const |
Returns true if this symbol is hidden.
bool Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::isReference | ( | ) | const |
Returns true if this symbol is a reference to an object rather than the definition of the object.
bool Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::isBaseDefinition | ( | ) | const |
Returns tru if this symbol is a base definition.
A base definition is either an unversioned symbol or a version definition with the VER_FLG_BASE flag set.
|
inline |
Returns the symbol section (.dynsym) where this symbol was defined.
Definition at line 64 of file BinaryLoaderElf.h.
Referenced by Rose::BinaryAnalysis::BinaryLoaderElf::SymbolMapEntry::getSection().
std::string Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::getVersion | ( | ) | const |
Returns the version string of this symbol.
The empty string is returned if the symbol has no associated version.
|
inline |
Returns the name of this symbol.
Definition at line 74 of file BinaryLoaderElf.h.
References SgAsmGenericSymbol::get_name(), and SgAsmGenericString::get_string().
std::string Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::getVersionedName | ( | ) | const |
Returns the full, versionioned name of this symbol.
Used for debugging.
|
inline |
Property: Version pointer for this symbol.
Definition at line 82 of file BinaryLoaderElf.h.
|
inline |
Property: Version definition of this symbol.
The definition flags must be zero or VER_FLG_BASE.
Definition at line 91 of file BinaryLoaderElf.h.
|
inline |
Property: Version definition of this symbol.
The definition flags must be zero or VER_FLG_BASE.
Definition at line 94 of file BinaryLoaderElf.h.
References SgAsmElfSymverDefinedEntry::get_flags().
|
inline |
Property: The version requirement of this symbol.
The requirement flags must be zero or VER_FLG_WEAK.
Definition at line 105 of file BinaryLoaderElf.h.
|
inline |
Property: The version requirement of this symbol.
The requirement flags must be zero or VER_FLG_WEAK.
Definition at line 108 of file BinaryLoaderElf.h.
References SgAsmElfSymverNeededAux::get_flags().
void Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::print | ( | std::ostream & | ) | const |
Print used by operator<<.
void Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::dump | ( | FILE * | , |
const char * | prefix, | ||
ssize_t | idx | ||
) | const |
Dump info like for SgAsm* objects.