|
ROSE
0.9.6a
|
Symbol from .dynsym combined with additional information. More...
#include <BinaryLoaderElf.h>

Public Member Functions | |
| VersionedSymbol (SgAsmElfSymbol *symbol) | |
| bool | is_local () const |
| Returns true if this symbol is visible only locally. More... | |
| bool | is_hidden () const |
| Returns true if this symbol is hidden. More... | |
| bool | is_reference () const |
| Returns true if this symbol is a reference to an object rather than the definition of the object. More... | |
| bool | is_base_definition () const |
| Returns tru if this symbol is a base definition. More... | |
| void | set_symbol (SgAsmElfSymbol *symbol) |
| (Re)initializes this symbol. More... | |
| SgAsmElfSymbol * | get_symbol () const |
| Returns the symbol part of this versioned symbol. More... | |
| SgAsmElfSymbolSection * | get_section () const |
| Returns the symbol section (.dynsym) where this symbol was defined. More... | |
| std::string | get_version () const |
| Returns the version string of this symbol. More... | |
| std::string | get_name () const |
| Returns the name of this symbol. More... | |
| std::string | get_versioned_name () const |
| Returns the full, versionioned name of this symbol. More... | |
| void | set_version_entry (SgAsmElfSymverEntry *entry) |
| Set the version pointer for this symbol. More... | |
| void | set_version_def (SgAsmElfSymverDefinedEntry *def) |
| Set the version definition of this symbol. More... | |
| void | set_version_need (SgAsmElfSymverNeededAux *need) |
| Set the version requirement of this symbol. More... | |
| SgAsmElfSymverNeededAux * | get_version_need () const |
| Get the version requirement of this symbol. More... | |
| SgAsmElfSymverDefinedEntry * | get_version_def () const |
| Get the version definition of this symbol. More... | |
| void | print (std::ostream &) const |
| Print used by operator<<. More... | |
| void | dump (FILE *, const char *prefix, ssize_t idx) const |
| Dump info like for SgAsm* objects. More... | |
Private Attributes | |
| SgAsmElfSymbol * | p_symbol |
| SgAsmElfSymverEntry * | p_version_entry |
| SgAsmElfSymverDefinedEntry * | p_version_def |
| SgAsmElfSymverNeededAux * | p_version_need |
Symbol from .dynsym combined with additional information.
The additional information is:
Definition at line 62 of file BinaryLoaderElf.h.
|
inlineexplicit |
Definition at line 69 of file BinaryLoaderElf.h.
| bool BinaryLoaderElf::VersionedSymbol::is_local | ( | ) | const |
Returns true if this symbol is visible only locally.
| bool BinaryLoaderElf::VersionedSymbol::is_hidden | ( | ) | const |
Returns true if this symbol is hidden.
| bool BinaryLoaderElf::VersionedSymbol::is_reference | ( | ) | const |
Returns true if this symbol is a reference to an object rather than the definition of the object.
| bool BinaryLoaderElf::VersionedSymbol::is_base_definition | ( | ) | 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.
|
inline |
|
inline |
Returns the symbol part of this versioned symbol.
Definition at line 92 of file BinaryLoaderElf.h.
References p_symbol.
Referenced by BinaryLoaderElf::SymbolMapEntry::get_symbol().
|
inline |
Returns the symbol section (.dynsym) where this symbol was defined.
Definition at line 97 of file BinaryLoaderElf.h.
References p_symbol.
Referenced by BinaryLoaderElf::SymbolMapEntry::get_section().
| std::string BinaryLoaderElf::VersionedSymbol::get_version | ( | ) | const |
Returns the version string of this symbol.
The empty string is returned if the symbol has no associated version.
|
inline |
Returns the name of this symbol.
Definition at line 107 of file BinaryLoaderElf.h.
References SgAsmGenericSymbol::get_name(), SgAsmGenericString::get_string(), and p_symbol.
| std::string BinaryLoaderElf::VersionedSymbol::get_versioned_name | ( | ) | const |
Returns the full, versionioned name of this symbol.
Used for debugging.
|
inline |
Set the version pointer for this symbol.
Definition at line 115 of file BinaryLoaderElf.h.
References p_version_entry.
|
inline |
Set the version definition of this symbol.
The definition flags must be zero or VER_FLG_BASE.
Definition at line 120 of file BinaryLoaderElf.h.
References SgAsmElfSymverDefinedEntry::get_flags(), p_version_def, and BinaryLoaderElf::VER_FLG_BASE.
|
inline |
Set the version requirement of this symbol.
The requirement flags must be zero or VER_FLG_WEAK.
Definition at line 126 of file BinaryLoaderElf.h.
References SgAsmElfSymverNeededAux::get_flags(), p_version_need, and BinaryLoaderElf::VER_FLG_WEAK.
|
inline |
Get the version requirement of this symbol.
Definition at line 132 of file BinaryLoaderElf.h.
References p_version_need.
|
inline |
Get the version definition of this symbol.
Definition at line 137 of file BinaryLoaderElf.h.
References p_version_def.
| void BinaryLoaderElf::VersionedSymbol::print | ( | std::ostream & | ) | const |
Print used by operator<<.
| void BinaryLoaderElf::VersionedSymbol::dump | ( | FILE * | , |
| const char * | prefix, | ||
| ssize_t | idx | ||
| ) | const |
Dump info like for SgAsm* objects.
|
private |
Definition at line 64 of file BinaryLoaderElf.h.
Referenced by get_name(), get_section(), get_symbol(), and set_symbol().
|
private |
Definition at line 65 of file BinaryLoaderElf.h.
Referenced by set_version_entry().
|
private |
Definition at line 66 of file BinaryLoaderElf.h.
Referenced by get_version_def(), and set_version_def().
|
private |
Definition at line 67 of file BinaryLoaderElf.h.
Referenced by get_version_need(), and set_version_need().