|
LIEF: Library to Instrument Executable Formats Version 0.17.1
|
Class which represents an entry defined in the DT_VERSYM dynamic entry. More...
#include <SymbolVersion.hpp>


Public Member Functions | |
| SymbolVersion (uint16_t value) | |
| SymbolVersion ()=default | |
| ~SymbolVersion () override=default | |
| SymbolVersion & | operator= (const SymbolVersion &)=default |
| SymbolVersion (const SymbolVersion &)=default | |
| uint16_t | value () const |
| Value associated with the symbol. | |
| bool | has_auxiliary_version () const |
| Whether the current SymbolVersion has an auxiliary one. | |
| SymbolVersionAux * | symbol_version_auxiliary () |
| SymbolVersionAux associated with the current Version if any, or a nullptr. | |
| const SymbolVersionAux * | symbol_version_auxiliary () const |
| void | symbol_version_auxiliary (SymbolVersionAuxRequirement &svauxr) |
| Set the version's auxiliary requirement The given SymbolVersionAuxRequirement must be an existing reference in the ELF::Binary. | |
| void | drop_version (uint16_t value) |
| Drop the versioning requirement and replace the value (local/global). | |
| void | as_global () |
| Redefine this version as global by dropping its auxiliary version. | |
| void | as_local () |
| Redefine this version as local by dropping its auxiliary version. | |
| void | value (uint16_t v) |
| void | accept (Visitor &visitor) const override |
| Public Member Functions inherited from LIEF::Object | |
| Object () | |
| Object (const Object &other) | |
| Object & | operator= (const Object &other) |
| Object (Object &&other) noexcept=default | |
| Object & | operator= (Object &&other) noexcept=default |
| template<class T> | |
| output_t< T > | as () |
| template<class T> | |
| output_const_t< T > | as () const |
| virtual bool | operator== (const Object &other) const |
| virtual bool | operator!= (const Object &other) const |
| virtual | ~Object () |
Static Public Member Functions | |
| static SymbolVersion | local () |
| Generate a local SymbolVersion. | |
| static SymbolVersion | global () |
| Generate a global SymbolVersion. | |
Static Public Attributes | |
| static constexpr auto | LOCAL_VERSION = 0 |
| static constexpr auto | GLOBAL_VERSION = 1 |
Additional Inherited Members | |
| Public Types inherited from LIEF::Object | |
| template<class T> | |
| using | output_t = add_pointer_t<decay_t<T>> |
| template<class T> | |
| using | output_const_t = add_pointer_t<add_const_t<decay_t<T>>> |
Class which represents an entry defined in the DT_VERSYM dynamic entry.
|
inline |
References value().
Referenced by global(), local(), operator<<, operator=(), and SymbolVersion().
|
default |
|
overridedefault |
|
default |
References SymbolVersion().
|
overridevirtual |
Implements LIEF::Object.
|
inline |
Redefine this version as global by dropping its auxiliary version.
References drop_version(), and GLOBAL_VERSION.
|
inline |
Redefine this version as local by dropping its auxiliary version.
References drop_version(), and LOCAL_VERSION.
|
inline |
Drop the versioning requirement and replace the value (local/global).
References GLOBAL_VERSION, LOCAL_VERSION, and value().
Referenced by as_global(), and as_local().
|
inlinestatic |
Generate a global SymbolVersion.
References GLOBAL_VERSION, and SymbolVersion().
|
inline |
Whether the current SymbolVersion has an auxiliary one.
References symbol_version_auxiliary().
|
inlinestatic |
Generate a local SymbolVersion.
References LOCAL_VERSION, and SymbolVersion().
|
default |
References SymbolVersion().
|
inline |
SymbolVersionAux associated with the current Version if any, or a nullptr.
Referenced by has_auxiliary_version().
|
inline |
| void LIEF::ELF::SymbolVersion::symbol_version_auxiliary | ( | SymbolVersionAuxRequirement & | svauxr | ) |
Set the version's auxiliary requirement The given SymbolVersionAuxRequirement must be an existing reference in the ELF::Binary.
On can add a new SymbolVersionAuxRequirement by using SymbolVersionRequirement::add_aux_requirement
|
inline |
Value associated with the symbol.
If the given SymbolVersion hasn't Auxiliary version:
Referenced by drop_version(), and SymbolVersion().
|
inline |
|
staticconstexpr |
Referenced by as_global(), drop_version(), and global().
|
staticconstexpr |
Referenced by as_local(), drop_version(), and local().