jon.recoil.org

Module Relocation.Kind

type target_with_addend = {
  1. target : Arm64_ast.Ast.Symbol.target;
  2. addend : int;
}

Relocation with symbol/label target and addend. On RELA platforms (Linux ELF), the addend is stored in the relocation entry. On REL platforms (macOS Mach-O), the addend is encoded in the instruction/data.

type t =
  1. | R_AARCH64_ADR_PREL_LO21 of target_with_addend
  2. | R_AARCH64_ADR_PREL_PG_HI21 of target_with_addend
  3. | R_AARCH64_ADR_GOT_PAGE of target_with_addend
  4. | R_AARCH64_LD64_GOT_LO12_NC of target_with_addend
  5. | R_AARCH64_ADD_ABS_LO12_NC of target_with_addend
  6. | R_AARCH64_LDST64_ABS_LO12_NC of target_with_addend
  7. | R_AARCH64_CALL26 of target_with_addend
  8. | R_AARCH64_JUMP26 of target_with_addend
  9. | R_AARCH64_ABS64 of target_with_addend
  10. | R_AARCH64_PREL32_PAIR of {
    1. plus_target : Arm64_ast.Ast.Symbol.target;
    2. minus_target : Arm64_ast.Ast.Symbol.target;
    }
  11. | R_AARCH64_PREL32 of {
    1. section : Asm_targets.Asm_section.t;
    2. addend : int;
    }