|
LIEF: Library to Instrument Executable Formats Version 1.0.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.