Go to the documentation of this file.
16#ifndef LIEF_PE_LOAD_CONFIGURATION_DYNAMIC_FIXUP_ARM64_KERNEL_H
17#define LIEF_PE_LOAD_CONFIGURATION_DYNAMIC_FIXUP_ARM64_KERNEL_H
30 static constexpr auto NO_IAT_INDEX = 0x7fff;
32 enum class IMPORT_TYPE : uint8_t {
36 struct LIEF_API reloc_entry_t { uint32_t rva = 0;
41 bool indirect_call =
false;
44 uint8_t register_index = 0;
48 IMPORT_TYPE import_type = IMPORT_TYPE::STATIC;
51 uint16_t iat_index = NO_IAT_INDEX;
59 std::ostream&
operator<<(std::ostream& os,
const reloc_entry_t& entry)
66 using reloc_entries_t = std::vector<reloc_entry_t>;
67 using it_relocations = ref_iterator<reloc_entries_t&>;
68 using it_const_relocations = const_ref_iterator<const reloc_entries_t&>;
71 DynamicFixup(KIND::ARM64_KERNEL_IMPORT_CALL_TRANSFER)
75 DynamicFixupARM64Kernel&
operator=(
const DynamicFixupARM64Kernel&) =
default;
78 DynamicFixupARM64Kernel&
operator=(DynamicFixupARM64Kernel&&) =
default;
80 std::unique_ptr<DynamicFixup>
clone()
const override {
81 return std::unique_ptr<DynamicFixupARM64Kernel>(
new DynamicFixupARM64Kernel(*
this));