From ef2f10c5933cc83b81fc14e14dc0da2dc6e3bff6 Mon Sep 17 00:00:00 2001 From: Robert Norton Date: Thu, 21 Jan 2016 11:33:13 +0000 Subject: mips interpreter successfully executes more than one instruction after some wrangling of integer types --- src/lem_interp/run_with_elf.ml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') 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 -- cgit v1.2.3