ROSE 0.11.145.147
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 105 of file BinaryLoaderElf.h.

#include <Rose/BinaryAnalysis/BinaryLoaderElf.h>

Public Member Functions

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

Member Function Documentation

◆ getVSymbol()

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.

◆ addVersion()

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.


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