summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRobert Norton2016-01-21 11:33:13 +0000
committerRobert Norton2016-01-21 11:33:13 +0000
commitef2f10c5933cc83b81fc14e14dc0da2dc6e3bff6 (patch)
tree577fe1136e044a4c536a63cc25eed5aabd335af6 /src
parent7d97452b129036126a8738ebff2a9300a25707c8 (diff)
mips interpreter successfully executes more than one instruction after some wrangling of integer types
Diffstat (limited to 'src')
-rw-r--r--src/lem_interp/run_with_elf.ml4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lem_interp/run_with_elf.ml b/src/lem_interp/run_with_elf.ml
index bcc49173..70b20ab6 100644
--- a/src/lem_interp/run_with_elf.ml
+++ b/src/lem_interp/run_with_elf.ml
@@ -577,10 +577,10 @@ let initial_system_state_of_elf_file name =
aarch64_register_data_all) *)
| 8 (* EM_MIPS *) ->
let startaddr =
- let e_entry = Uint64.of_int64 (Nat_big_num.to_int64 e_entry) in
+ let e_entry = Uint64.of_string (Nat_big_num.to_string e_entry) in
match Abi_mips64.abi_mips64_compute_program_entry_point segments e_entry with
| Error.Fail s -> failwith "Failed computing entry point"
- | Error.Success s -> Nat_big_num.of_int64 (Uint64.to_int64 s)
+ | Error.Success s -> s
in
let (initial_stack_data, initial_register_abi_data) =
initial_stack_and_reg_data_of_MIPS_elf_file e_entry !data_mem in