package linksem

  1. Overview
  2. Docs
Module type
Class type

abi_riscv contains top-level definition for the RISCV ABI.

val abi_riscv_compute_program_entry_point : 'a -> Nat_big_num.num -> Nat_big_num.num Error.error

abi_riscv_compute_program_entry_point segs entry computes the program * entry point using ABI-specific conventions. On RISCV the entry point in * the ELF header (entry here) is the real entry point. On other ABIs, e.g. * PowerPC64, the entry point entry is a pointer into one of the segments * constituting the process image (passed in as segs here for a uniform * interface).

val header_is_riscv : Elf_header.elf64_header -> bool
type 'abifeature plt_entry_address_fn0 = Nat_big_num.num -> 'abifeature Memory_image.annotated_memory_image -> Nat_big_num.num
type 'abifeature riscv_abi_feature =
  1. | GOT2 of (string * Memory_image.symbol_definition option) list
  2. | PLT2 of (string * Memory_image.symbol_definition option * 'abifeature plt_entry_address_fn0) list
val abiFeatureCompare2 : 'a riscv_abi_feature -> 'b riscv_abi_feature -> int
val abiFeatureTagEq2 : 'a riscv_abi_feature -> 'b riscv_abi_feature -> bool
val instance_Abi_classes_AbiFeatureTagEquiv_Abi_riscv_riscv_abi_feature_dict : 'abifeature riscv_abi_feature Abi_classes.abiFeatureTagEquiv_class
val instance_Basic_classes_Ord_Abi_riscv_riscv_abi_feature_dict : 'abifeature riscv_abi_feature Lem_basic_classes.ord_class
val section_is_special3 : Elf_interpreted_section.elf64_interpreted_section -> 'a -> bool