|
LIEF: Library to Instrument Executable Formats Version 0.17.1
|
This class interfaces the different GNU_PROPERTY_X86_FEATURE_* properties which includes: More...
#include <X86Feature.hpp>


Public Types | |
| enum class | FLAG { NONE = 0 , USED , NEEDED } |
| Flag according to the _AND, _USED or _NEEDED suffixes. More... | |
| enum class | FEATURE { UNKNOWN = 0 , IBT , SHSTK , LAM_U48 , LAM_U57 , X86 , X87 , MMX , XMM , YMM , ZMM , FXSR , XSAVE , XSAVEOPT , XSAVEC , TMM , MASK } |
| Features provided by these different properties. More... | |
| using | features_t = std::vector<std::pair<FLAG, FEATURE>> |
| List of the features as a pair of FLAG, FEATURE. | |
| Public Types inherited from LIEF::ELF::NoteGnuProperty::Property | |
| enum class | TYPE { UNKNOWN = 0 , GENERIC , AARCH64_FEATURES , AARCH64_PAUTH , STACK_SIZE , NO_COPY_ON_PROTECTED , X86_ISA , X86_FEATURE , NEEDED } |
| LIEF's mirror types of the original GNU_PROPERTY_ values. More... | |
Public Member Functions | |
| const features_t & | features () const |
| List of the features. | |
| void | dump (std::ostream &os) const override |
| ~X86Features () override=default | |
| Public Member Functions inherited from LIEF::ELF::NoteGnuProperty::Property | |
| TYPE | type () const |
| Return the LIEF's mirror type of the note. | |
| virtual | ~Property ()=default |
Static Public Member Functions | |
| static bool | classof (const NoteGnuProperty::Property *prop) |
| static std::unique_ptr< X86Features > | create (uint32_t type, BinaryStream &stream) |
This class interfaces the different GNU_PROPERTY_X86_FEATURE_* properties which includes:
| using LIEF::ELF::X86Features::features_t = std::vector<std::pair<FLAG, FEATURE>> |
List of the features as a pair of FLAG, FEATURE.
For instance, if the raw property is GNU_PROPERTY_X86_FEATURE_2_USED with a bitmask set to GNU_PROPERTY_X86_FEATURE_2_XSAVE, it generates the pair: FLAG::USED, FEATURE::XSAVE
|
strong |
|
strong |
|
overridedefault |
|
inlinestatic |
|
static |
References LIEF::ELF::NoteGnuProperty::Property::type().
|
overridevirtual |
Reimplemented from LIEF::ELF::NoteGnuProperty::Property.
|
inline |
List of the features.