jon.recoil.org

Module X86_binary_emitter

module String = Misc.Stdlib.String
type section = {
  1. sec_name : X86_proc.Section_name.t;
  2. mutable sec_instrs : X86_ast.asm_line array;
}
type data_size =
  1. | B8
  2. | B16
  3. | B32
  4. | B64
type symbol_binding =
  1. | Sy_local
  2. | Sy_global
  3. | Sy_weak
type symbol = {
  1. sy_name : string;
  2. mutable sy_type : Asm_targets.Asm_directives.symbol_type option;
  3. mutable sy_size : int option;
  4. mutable sy_binding : symbol_binding;
  5. mutable sy_protected : bool;
  6. mutable sy_sec : section;
  7. mutable sy_pos : int option;
  8. mutable sy_num : int option;
}
module Relocation : sig ... end
module StringMap : Map.S with type key = string
type buffer
val size : buffer -> int
val relocations : buffer -> Relocation.t list
val assemble_section : X86_ast.arch -> section -> buffer
val get_symbol : buffer -> StringMap.key -> symbol
val contents_mut : buffer -> bytes
val contents : buffer -> string
val add_patch : offset:int -> size:data_size -> data:int64 -> buffer -> unit
val labels : buffer -> symbol String.Tbl.t

Module implementing Binary_emitter_intf.S for use by ocaml-jit