ROSE 0.11.145.147
|
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 105 of file BinaryLoaderElf.h.
#include <Rose/BinaryAnalysis/BinaryLoaderElf.h>
Public Member Functions | |
const VersionedSymbol & | getVSymbol () const |
Returns the base version. | |
SgAsmElfSymbol * | getSymbol () const |
Returns the ELF symbol from the base version. | |
VersionedSymbol | getVSymbol (const VersionedSymbol &version) const |
Find definition of symbol. | |
SgAsmElfSymbolSection * | getSection () const |
Returns the section where the base version symbol was defined. | |
void | addVersion (const VersionedSymbol &vsymbol) |
Add an additional versioned symbol to this entry. | |
void | merge (const SymbolMapEntry &) |
Merge the versions from the specified entry into this entry. | |
void | dump (FILE *, const char *prefix) const |
Print info about this symbol map entry. | |
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.
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.