LIEF: Library to Instrument Executable Formats Version 0.17.0
|
This class represents an entry in the exception table (.pdata section) for the AArch64 architecture. More...
#include <RuntimeFunctionAArch64.hpp>
Public Types | |
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... |
Public Member Functions | |
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< 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) |
This class represents an entry in the exception table (.pdata section) for the AArch64 architecture.
Since the ARM64 unwinding info can be encoded in a packed and unpacked format, this class is inherited by LIEF::PE::unwind_aarch64::PackedFunction and LIEF::PE::unwind_aarch64::UnpackedFunction
|
strong |
|
inline |
References LIEF::PE::ExceptionInfo::ARM64, LIEF::PE::ExceptionInfo::ExceptionInfo(), flag(), and length().
Referenced by LIEF::PE::unwind_aarch64::UnpackedFunction::classof(), clone(), operator=(), operator=(), LIEF::PE::unwind_aarch64::PackedFunction::parse(), RuntimeFunctionAArch64(), RuntimeFunctionAArch64(), and LIEF::PE::unwind_aarch64::UnpackedFunction::UnpackedFunction().
|
default |
References RuntimeFunctionAArch64().
|
default |
References RuntimeFunctionAArch64().
|
default |
References RESERVED.
|
inlinestatic |
|
inlineoverridevirtual |
Implements LIEF::PE::ExceptionInfo.
Reimplemented in LIEF::PE::unwind_aarch64::UnpackedFunction.
References RuntimeFunctionAArch64().
|
inline |
Flag describing the format the unwind data.
Referenced by RuntimeFunctionAArch64().
|
inline |
Length of the function in bytes.
Referenced by RuntimeFunctionAArch64(), rva_end(), and LIEF::PE::unwind_aarch64::UnpackedFunction::UnpackedFunction().
|
default |
References RuntimeFunctionAArch64().
|
default |
References RuntimeFunctionAArch64().
|
static |
|
inline |
Function end address.
References length(), and LIEF::PE::ExceptionInfo::rva_start().
|
overridevirtual |
Implements LIEF::PE::ExceptionInfo.
Reimplemented in LIEF::PE::unwind_aarch64::UnpackedFunction.