ROSE 0.11.145.192
|
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. | |
bool | isHidden () const |
Returns true if this symbol is hidden. | |
bool | isReference () const |
Returns true if this symbol is a reference to an object rather than the definition of the object. | |
bool | isBaseDefinition () const |
Returns tru if this symbol is a base definition. | |
SgAsmElfSymbolSection * | getSection () const |
Returns the symbol section (.dynsym) where this symbol was defined. | |
std::string | getVersion () const |
Returns the version string of this symbol. | |
std::string | getName () const |
Returns the name of this symbol. | |
std::string | getVersionedName () const |
Returns the full, versionioned name of this symbol. | |
void | versionEntry (SgAsmElfSymverEntry *) |
Property: Version pointer for this symbol. | |
void | print (std::ostream &) const |
Print used by operator<<. | |
void | dump (FILE *, const char *prefix, ssize_t idx) const |
Dump info like for SgAsm* objects. | |
void | symbol (SgAsmElfSymbol *symbol) |
Property: The symbol. | |
SgAsmElfSymbol * | symbol () const |
Property: The symbol. | |
SgAsmElfSymverDefinedEntry * | versionDef () const |
Property: Version definition of this symbol. | |
void | versionDef (SgAsmElfSymverDefinedEntry *) |
Property: Version definition of this symbol. | |
SgAsmElfSymverNeededAux * | versionNeed () const |
Property: The version requirement of this symbol. | |
void | versionNeed (SgAsmElfSymverNeededAux *) |
Property: The version requirement of this symbol. | |
|
inlineexplicit |
Definition at line 39 of file BinaryLoaderElf.h.
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 |
Property: The symbol.
Definition at line 59 of file BinaryLoaderElf.h.
References symbol().
Referenced by symbol().
|
inline |
Property: The symbol.
Definition at line 60 of file BinaryLoaderElf.h.
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.
std::string Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::getVersionedName | ( | ) | const |
Returns the full, versionioned name of this symbol.
Used for debugging.
SgAsmElfSymverDefinedEntry * Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::versionDef | ( | ) | const |
Property: Version definition of this symbol.
The definition flags must be zero or VER_FLG_BASE.
void Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::versionDef | ( | SgAsmElfSymverDefinedEntry * | ) |
Property: Version definition of this symbol.
The definition flags must be zero or VER_FLG_BASE.
SgAsmElfSymverNeededAux * Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::versionNeed | ( | ) | const |
Property: The version requirement of this symbol.
The requirement flags must be zero or VER_FLG_WEAK.
void Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::versionNeed | ( | SgAsmElfSymverNeededAux * | ) |
Property: The version requirement of this symbol.
The requirement flags must be zero or VER_FLG_WEAK.