Skip to content

Commit 438f43c

Browse files
committed
Make the mmap64 implementation Linux-specific.
`mmap64` is only defined on Linux, so move the implementation to Linux-specific code.
1 parent aa40634 commit 438f43c

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

src/tools/miri/src/shims/unix/foreign_items.rs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -266,12 +266,6 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriInterpCxExt<'mir, 'tcx> {
266266
let ptr = this.mmap(addr, length, prot, flags, fd, offset)?;
267267
this.write_scalar(ptr, dest)?;
268268
}
269-
"mmap64" => {
270-
let [addr, length, prot, flags, fd, offset] = this.check_shim(abi, Abi::C {unwind: false}, link_name, args)?;
271-
let offset = this.read_scalar(offset)?.to_i64()?;
272-
let ptr = this.mmap(addr, length, prot, flags, fd, offset.into())?;
273-
this.write_scalar(ptr, dest)?;
274-
}
275269
"munmap" => {
276270
let [addr, length] = this.check_shim(abi, Abi::C {unwind: false}, link_name, args)?;
277271
let result = this.munmap(addr, length)?;

src/tools/miri/src/shims/unix/linux/foreign_items.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ use shims::unix::fs::EvalContextExt as _;
99
use shims::unix::linux::fd::EvalContextExt as _;
1010
use shims::unix::linux::mem::EvalContextExt as _;
1111
use shims::unix::linux::sync::futex;
12+
use shims::unix::mem::EvalContextExt as _;
1213
use shims::unix::sync::EvalContextExt as _;
1314
use shims::unix::thread::EvalContextExt as _;
1415

@@ -217,6 +218,14 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriInterpCxExt<'mir, 'tcx> {
217218
this.write_null(dest)?;
218219
}
219220

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+
220229
_ => return Ok(EmulateForeignItemResult::NotSupported),
221230
};
222231

0 commit comments

Comments
 (0)