ROSE
0.11.145.0
|
An entry for a SymbolMap.
Each entry holds a list of related versioned symbols, the first of which is the base definition.
Definition at line 123 of file BinaryLoaderElf.h.
#include <Rose/BinaryAnalysis/BinaryLoaderElf.h>
Public Member Functions | |
const VersionedSymbol & | getVSymbol () const |
Returns the base version. More... | |
SgAsmElfSymbol * | getSymbol () const |
Returns the ELF symbol from the base version. More... | |
VersionedSymbol | getVSymbol (const VersionedSymbol &version) const |
Find definition of symbol. More... | |
SgAsmElfSymbolSection * | getSection () const |
Returns the section where the base version symbol was defined. More... | |
void | addVersion (const VersionedSymbol &vsymbol) |
Add an additional versioned symbol to this entry. More... | |
void | merge (const SymbolMapEntry &) |
Merge the versions from the specified entry into this entry. More... | |
void | dump (FILE *, const char *prefix) const |
Print info about this symbol map entry. More... | |
|
inline |
Returns the base version.
Definition at line 129 of file BinaryLoaderElf.h.
Referenced by getSection(), and getSymbol().
|
inline |
Returns the ELF symbol from the base version.
Definition at line 134 of file BinaryLoaderElf.h.
References getVSymbol(), and Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::symbol().
VersionedSymbol Rose::BinaryAnalysis::BinaryLoaderElf::SymbolMapEntry::getVSymbol | ( | const VersionedSymbol & | version | ) | const |
Find definition of symbol.
The specified versioned symbol is probably a symbol referenced by a relocation. This method will scan the list of definitions in this SymbolEntryMap and return the first (only) symbol that has the same name as the supplied symbol's needed version.
|
inline |
Returns the section where the base version symbol was defined.
Definition at line 144 of file BinaryLoaderElf.h.
References Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::getSection(), and getVSymbol().
void Rose::BinaryAnalysis::BinaryLoaderElf::SymbolMapEntry::addVersion | ( | const VersionedSymbol & | vsymbol | ) |
Add an additional versioned symbol to this entry.
An entry can have only one base definition and an assertion will if an attempt is made to add a second base definition.
void Rose::BinaryAnalysis::BinaryLoaderElf::SymbolMapEntry::merge | ( | const SymbolMapEntry & | ) |
Merge the versions from the specified entry into this entry.
void Rose::BinaryAnalysis::BinaryLoaderElf::SymbolMapEntry::dump | ( | FILE * | , |
const char * | prefix | ||
) | const |
Print info about this symbol map entry.