ROSE  0.9.9.168
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 153 of file BinaryLoaderElf.h.

#include <BinaryLoaderElf.h>

Public Member Functions

const VersionedSymbolget_vsymbol () const
 Returns the base version. More...
 
SgAsmElfSymbolget_symbol () const
 Returns the ELF symbol from the base version. More...
 
VersionedSymbol get_vsymbol (const VersionedSymbol &version) const
 Find definition of symbol. More...
 
SgAsmElfSymbolSectionget_section () 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::get_vsymbol ( ) const
inline

Returns the base version.

Definition at line 159 of file BinaryLoaderElf.h.

Referenced by get_section(), and get_symbol().

SgAsmElfSymbol* Rose::BinaryAnalysis::BinaryLoaderElf::SymbolMapEntry::get_symbol ( ) const
inline

Returns the ELF symbol from the base version.

Definition at line 164 of file BinaryLoaderElf.h.

References Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::get_symbol(), and get_vsymbol().

VersionedSymbol Rose::BinaryAnalysis::BinaryLoaderElf::SymbolMapEntry::get_vsymbol ( 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::get_section ( ) const
inline

Returns the section where the base version symbol was defined.

Definition at line 174 of file BinaryLoaderElf.h.

References Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::get_section(), and get_vsymbol().

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: