diff options
| author | Alasdair Armstrong | 2017-11-21 17:31:17 +0000 |
|---|---|---|
| committer | Alasdair Armstrong | 2017-11-21 17:31:17 +0000 |
| commit | 0437f97dbcf4e8a1a6e55ccb249e754dbd565e00 (patch) | |
| tree | a0da6b00323666fcdb82d66cf2545fa9fef75cd1 | |
| parent | 97cf53759eab27d3c3ac7df95bf1370707609dc4 (diff) | |
Expose entry point in elf_loader for Sail model
| -rw-r--r-- | editors/sail2-mode.el | 2 | ||||
| -rw-r--r-- | lib/ocaml_rts/elf_loader.ml | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/editors/sail2-mode.el b/editors/sail2-mode.el index 2958af21..b93542b5 100644 --- a/editors/sail2-mode.el +++ b/editors/sail2-mode.el @@ -12,7 +12,7 @@ (defconst sail2-kinds '("Int" "Type" "Order" "inc" "dec" - "barr" "depend" "rreg" "wreg" "rmem" "rmemt" "wmv" "wmvt" "eamem" + "barr" "depend" "rreg" "wreg" "rmem" "rmemt" "wmv" "wmvt" "eamem" "wmem" "exmem" "undef" "unspec" "nondet" "escape")) (defconst sail2-types diff --git a/lib/ocaml_rts/elf_loader.ml b/lib/ocaml_rts/elf_loader.ml index ab49c57b..b5ecce24 100644 --- a/lib/ocaml_rts/elf_loader.ml +++ b/lib/ocaml_rts/elf_loader.ml @@ -45,6 +45,7 @@ open Big_int let opt_file_arguments = ref ([] : string list) let opt_elf_threads = ref 1 +let opt_elf_entry = ref zero_big_int let options = Arg.align [] @@ -125,5 +126,10 @@ let load_elf () = match !opt_file_arguments with | (name :: _) -> let segments, e_entry = read name in + opt_elf_entry := e_entry; List.iter load_segment segments | [] -> () + +(* The sail model can access this by externing a unit -> int function + as Elf_loader.elf_entry. *) +let elf_entry () = !opt_elf_entry |
