@@ -44,6 +44,14 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriInterpCxExt<'mir, 'tcx> {
4444 let result = this. linux_readdir64 ( dirp) ?;
4545 this. write_scalar ( result, dest) ?;
4646 }
47+ "mmap64" => {
48+ let [ addr, length, prot, flags, fd, offset] =
49+ this. check_shim ( abi, Abi :: C { unwind : false } , link_name, args) ?;
50+ let offset = this. read_scalar ( offset) ?. to_i64 ( ) ?;
51+ let ptr = this. mmap ( addr, length, prot, flags, fd, offset. into ( ) ) ?;
52+ this. write_scalar ( ptr, dest) ?;
53+ }
54+
4755 // Linux-only
4856 "sync_file_range" => {
4957 let [ fd, offset, nbytes, flags] =
@@ -218,14 +226,6 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriInterpCxExt<'mir, 'tcx> {
218226 this. write_null ( dest) ?;
219227 }
220228
221- "mmap64" => {
222- let [ addr, length, prot, flags, fd, offset] =
223- this. check_shim ( abi, Abi :: C { unwind : false } , link_name, args) ?;
224- let offset = this. read_scalar ( offset) ?. to_i64 ( ) ?;
225- let ptr = this. mmap ( addr, length, prot, flags, fd, offset. into ( ) ) ?;
226- this. write_scalar ( ptr, dest) ?;
227- }
228-
229229 _ => return Ok ( EmulateForeignItemResult :: NotSupported ) ,
230230 } ;
231231
0 commit comments