Module Bap_llvm.Std

Initialize LLVM backend.

So far we keep the interface very tight, though later we may extend it by publishing more functions.

type x86_syntax = [
  1. | `att
  2. | `intel
]
val sexp_of_x86_syntax : x86_syntax -> Ppx_sexp_conv_lib.Sexp.t
val x86_syntax_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> x86_syntax
val __x86_syntax_of_sexp__ : Ppx_sexp_conv_lib.Sexp.t -> x86_syntax
val llvm_version : string

llvm_version

val init_disassembler : ?x86_syntax:x86_syntax -> unit -> unit Core_kernel.Or_error.t

init_disassembler () initializes and registers the LLVM based disassembler.

val init_loader : ?base:int64 -> ?pdb_path:string -> unit -> unit

init-loader () initializes and registers the LLVM based loader.

  • parameter base

    a base address to use. If not specified, then a base address specified by the binary is used. If there is no such address, then some arbitrary constant will be used.

  • parameter pdb_path

    is either a path to the pdb file or a path to a folder where it resides (by default, the current working directory). In the latter case, the pdb file name will be infered from the executable name.