ROSE  0.11.145.0
Public Member Functions | List of all members
Rose::BinaryAnalysis::BinaryLoaderElf::SymbolMapEntry Struct Reference

Description

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 VersionedSymbolgetVSymbol () const
 Returns the base version. More...
 
SgAsmElfSymbolgetSymbol () const
 Returns the ELF symbol from the base version. More...
 
VersionedSymbol getVSymbol (const VersionedSymbol &version) const
 Find definition of symbol. More...
 
SgAsmElfSymbolSectiongetSection () 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...
 

Member Function Documentation

const VersionedSymbol& Rose::BinaryAnalysis::BinaryLoaderElf::SymbolMapEntry::getVSymbol ( ) const
inline

Returns the base version.

Definition at line 129 of file BinaryLoaderElf.h.

Referenced by getSection(), and getSymbol().

SgAsmElfSymbol* Rose::BinaryAnalysis::BinaryLoaderElf::SymbolMapEntry::getSymbol ( ) const
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.

SgAsmElfSymbolSection* Rose::BinaryAnalysis::BinaryLoaderElf::SymbolMapEntry::getSection ( ) const
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.


The documentation for this struct was generated from the following file: