LIEF: Library to Instrument Executable Formats Version 0.17.0
|
This class represents a packed AArch64 exception entry. More...
#include <PackedFunction.hpp>
Public Member Functions | |
PackedFunction (const PackedFunction &)=default | |
PackedFunction & | operator= (const PackedFunction &)=default |
PackedFunction (PackedFunction &&)=default | |
PackedFunction & | operator= (PackedFunction &&)=default |
~PackedFunction () override=default | |
std::unique_ptr< ExceptionInfo > | clone () const override |
std::string | to_string () const override |
uint8_t | frame_size () const |
Size of the allocated stack. | |
uint8_t | reg_I () const |
Number of non-volatile INT registers (x19-x28) saved in the canonical stack location. | |
uint8_t | reg_F () const |
Number of non-volatile FP registers (d8-d15) saved in the canonical stack location. | |
uint8_t | H () const |
1-bit flag indicating whether the function homes the integer parameter registers (x0-x7) by storing them at the very start of the function. (0 = doesn't home registers, 1 = homes registers). | |
uint8_t | CR () const |
Flag indicating whether the function includes extra instructions to set up a frame chain and return link. | |
PackedFunction & | frame_size (uint8_t value) |
PackedFunction & | reg_I (uint8_t value) |
PackedFunction & | reg_F (uint8_t value) |
PackedFunction & | H (uint8_t value) |
PackedFunction & | CR (uint8_t value) |
RuntimeFunctionAArch64 (uint64_t RVA, uint32_t length, PACKED_FLAGS flag) | |
RuntimeFunctionAArch64 (const RuntimeFunctionAArch64 &)=default | |
RuntimeFunctionAArch64 (RuntimeFunctionAArch64 &&)=default | |
Public Member Functions inherited from LIEF::PE::RuntimeFunctionAArch64 | |
RuntimeFunctionAArch64 (uint64_t RVA, uint32_t length, PACKED_FLAGS flag) | |
RuntimeFunctionAArch64 (const RuntimeFunctionAArch64 &)=default | |
RuntimeFunctionAArch64 & | operator= (const RuntimeFunctionAArch64 &)=default |
RuntimeFunctionAArch64 (RuntimeFunctionAArch64 &&)=default | |
RuntimeFunctionAArch64 & | operator= (RuntimeFunctionAArch64 &&)=default |
std::unique_ptr< ExceptionInfo > | clone () const override |
uint32_t | length () const |
Length of the function in bytes. | |
PACKED_FLAGS | flag () const |
Flag describing the format the unwind data. | |
uint32_t | rva_end () const |
Function end address. | |
std::string | to_string () const override |
~RuntimeFunctionAArch64 ()=default | |
Public Member Functions inherited from LIEF::PE::ExceptionInfo | |
ExceptionInfo ()=delete | |
ExceptionInfo (const ExceptionInfo &)=default | |
ExceptionInfo & | operator= (const ExceptionInfo &)=default |
ExceptionInfo (ExceptionInfo &&)=default | |
ExceptionInfo & | operator= (ExceptionInfo &&)=default |
ExceptionInfo (ARCH arch, uint64_t rva) | |
ExceptionInfo (ARCH arch) | |
ARCH | arch () const |
Target architecture of this exception. | |
uint32_t | rva_start () const |
Function start address. | |
uint64_t | offset () const |
Offset in the binary where the raw exception information associated with this entry is defined. | |
virtual | ~ExceptionInfo ()=default |
template<class T> | |
T * | as () |
Helper to downcast an ExceptionInfo into a concrete implementation. | |
template<class T> | |
const T * | as () const |
Static Public Member Functions | |
static std::unique_ptr< PackedFunction > | parse (Parser &ctx, BinaryStream &strm, uint32_t rva, uint32_t unwind_data) |
static bool | classof (const ExceptionInfo *info) |
Static Public Member Functions inherited from LIEF::PE::RuntimeFunctionAArch64 | |
static std::unique_ptr< RuntimeFunctionAArch64 > | parse (Parser &ctx, BinaryStream &strm) |
static bool | classof (const ExceptionInfo *info) |
Static Public Member Functions inherited from LIEF::PE::ExceptionInfo | |
static std::unique_ptr< ExceptionInfo > | parse (Parser &ctx, BinaryStream &strm) |
static std::unique_ptr< ExceptionInfo > | parse (Parser &ctx, BinaryStream &strm, Header::MACHINE_TYPES arch) |
Additional Inherited Members | |
Public Types inherited from LIEF::PE::RuntimeFunctionAArch64 | |
enum class | PACKED_FLAGS { UNPACKED = 0 , PACKED = 1 , PACKED_FRAGMENT = 2 , RESERVED = 3 } |
Public Types inherited from LIEF::PE::ExceptionInfo | |
enum class | ARCH { UNKNOWN = 0 , ARM64 , X86_64 } |
Arch discriminator for the subclasses. More... |
This class represents a packed AArch64 exception entry.
An excepted entry can be packed if the unwind data fit in 30 bits
|
default |
References PackedFunction().
Referenced by clone(), CR(), frame_size(), H(), operator=(), operator=(), PackedFunction(), PackedFunction(), reg_F(), and reg_I().
|
default |
References PackedFunction().
|
overridedefault |
|
inlinestatic |
|
inlineoverridevirtual |
Implements LIEF::PE::ExceptionInfo.
References PackedFunction().
|
inline |
Flag indicating whether the function includes extra instructions to set up a frame chain and return link.
|
inline |
References PackedFunction().
|
inline |
Size of the allocated stack.
|
inline |
References PackedFunction().
|
inline |
1-bit flag indicating whether the function homes the integer parameter registers (x0-x7) by storing them at the very start of the function. (0 = doesn't home registers, 1 = homes registers).
|
inline |
References PackedFunction().
|
default |
References PackedFunction().
|
default |
References PackedFunction().
|
static |
|
inline |
Number of non-volatile FP registers (d8-d15) saved in the canonical stack location.
|
inline |
References PackedFunction().
|
inline |
Number of non-volatile INT registers (x19-x28) saved in the canonical stack location.
|
inline |
References PackedFunction().
|
default |
|
default |
|
inline |
Referenced by classof().
|
overridevirtual |
Implements LIEF::PE::ExceptionInfo.