ROSE 0.11.145.147
Public Member Functions | List of all members
Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol Class Reference

Description

Symbol from .dynsym combined with additional information.

The additional information is:

Definition at line 32 of file BinaryLoaderElf.h.

#include <Rose/BinaryAnalysis/BinaryLoaderElf.h>

Public Member Functions

 VersionedSymbol (SgAsmElfSymbol *symbol)
 
bool isLocal () const
 Returns true if this symbol is visible only locally.
 
bool isHidden () const
 Returns true if this symbol is hidden.
 
bool isReference () const
 Returns true if this symbol is a reference to an object rather than the definition of the object.
 
bool isBaseDefinition () const
 Returns tru if this symbol is a base definition.
 
SgAsmElfSymbolSectiongetSection () const
 Returns the symbol section (.dynsym) where this symbol was defined.
 
std::string getVersion () const
 Returns the version string of this symbol.
 
std::string getName () const
 Returns the name of this symbol.
 
std::string getVersionedName () const
 Returns the full, versionioned name of this symbol.
 
void versionEntry (SgAsmElfSymverEntry *)
 Property: Version pointer for this symbol.
 
void print (std::ostream &) const
 Print used by operator<<.
 
void dump (FILE *, const char *prefix, ssize_t idx) const
 Dump info like for SgAsm* objects.
 
void symbol (SgAsmElfSymbol *symbol)
 Property: The symbol.
 
SgAsmElfSymbolsymbol () const
 Property: The symbol.
 
SgAsmElfSymverDefinedEntryversionDef () const
 Property: Version definition of this symbol.
 
void versionDef (SgAsmElfSymverDefinedEntry *)
 Property: Version definition of this symbol.
 
SgAsmElfSymverNeededAuxversionNeed () const
 Property: The version requirement of this symbol.
 
void versionNeed (SgAsmElfSymverNeededAux *)
 Property: The version requirement of this symbol.
 

Constructor & Destructor Documentation

◆ VersionedSymbol()

Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::VersionedSymbol ( SgAsmElfSymbol symbol)
inlineexplicit

Definition at line 39 of file BinaryLoaderElf.h.

Member Function Documentation

◆ isBaseDefinition()

bool Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::isBaseDefinition ( ) const

Returns tru if this symbol is a base definition.

A base definition is either an unversioned symbol or a version definition with the VER_FLG_BASE flag set.

◆ symbol() [1/2]

void Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::symbol ( SgAsmElfSymbol symbol)
inline

Property: The symbol.

Definition at line 59 of file BinaryLoaderElf.h.

References symbol().

Referenced by symbol().

◆ symbol() [2/2]

SgAsmElfSymbol * Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::symbol ( ) const
inline

Property: The symbol.

Definition at line 60 of file BinaryLoaderElf.h.

◆ getVersion()

std::string Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::getVersion ( ) const

Returns the version string of this symbol.

The empty string is returned if the symbol has no associated version.

◆ getVersionedName()

std::string Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::getVersionedName ( ) const

Returns the full, versionioned name of this symbol.

Used for debugging.

◆ versionDef() [1/2]

SgAsmElfSymverDefinedEntry * Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::versionDef ( ) const

Property: Version definition of this symbol.

The definition flags must be zero or VER_FLG_BASE.

◆ versionDef() [2/2]

void Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::versionDef ( SgAsmElfSymverDefinedEntry )

Property: Version definition of this symbol.

The definition flags must be zero or VER_FLG_BASE.

◆ versionNeed() [1/2]

SgAsmElfSymverNeededAux * Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::versionNeed ( ) const

Property: The version requirement of this symbol.

The requirement flags must be zero or VER_FLG_WEAK.

◆ versionNeed() [2/2]

void Rose::BinaryAnalysis::BinaryLoaderElf::VersionedSymbol::versionNeed ( SgAsmElfSymverNeededAux )

Property: The version requirement of this symbol.

The requirement flags must be zero or VER_FLG_WEAK.


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