From 9a7bc3972ceeeab709b277f0930c5becce5e9adf Mon Sep 17 00:00:00 2001 From: Christian Poveda Date: Wed, 19 Feb 2020 17:17:47 -0500 Subject: [PATCH] promote open and lseek shims to posix --- src/shims/foreign_items/posix.rs | 10 ++++++++++ src/shims/foreign_items/posix/linux.rs | 10 ---------- src/shims/foreign_items/posix/macos.rs | 10 ---------- 3 files changed, 10 insertions(+), 20 deletions(-) diff --git a/src/shims/foreign_items/posix.rs b/src/shims/foreign_items/posix.rs index a4bc7e4726d0..6dc21d15b9f6 100644 --- a/src/shims/foreign_items/posix.rs +++ b/src/shims/foreign_items/posix.rs @@ -45,6 +45,11 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx } // File related shims + "open" | "open64" => { + let result = this.open(args[0], args[1])?; + this.write_scalar(Scalar::from_int(result, dest.layout.size), dest)?; + } + "fcntl" => { let result = this.fcntl(args[0], args[1], args.get(2).cloned())?; this.write_scalar(Scalar::from_int(result, dest.layout.size), dest)?; @@ -104,6 +109,11 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx this.write_scalar(Scalar::from_int(result, dest.layout.size), dest)?; } + "lseek" | "lseek64" => { + let result = this.lseek64(args[0], args[1], args[2])?; + this.write_scalar(Scalar::from_int(result, dest.layout.size), dest)?; + } + // Other shims "posix_memalign" => { let ret = this.deref_operand(args[0])?; diff --git a/src/shims/foreign_items/posix/linux.rs b/src/shims/foreign_items/posix/linux.rs index cf1431c8f117..1c03e3cb1cfe 100644 --- a/src/shims/foreign_items/posix/linux.rs +++ b/src/shims/foreign_items/posix/linux.rs @@ -19,21 +19,11 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx } // File related shims - "open64" => { - let result = this.open(args[0], args[1])?; - this.write_scalar(Scalar::from_int(result, dest.layout.size), dest)?; - } - "close" => { let result = this.close(args[0])?; this.write_scalar(Scalar::from_int(result, dest.layout.size), dest)?; } - "lseek64" => { - let result = this.lseek64(args[0], args[1], args[2])?; - this.write_scalar(Scalar::from_int(result, dest.layout.size), dest)?; - } - // Time related shims "clock_gettime" => { let result = this.clock_gettime(args[0], args[1])?; diff --git a/src/shims/foreign_items/posix/macos.rs b/src/shims/foreign_items/posix/macos.rs index d0bb3109424d..bf7146267944 100644 --- a/src/shims/foreign_items/posix/macos.rs +++ b/src/shims/foreign_items/posix/macos.rs @@ -19,11 +19,6 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx } // File related shims - "open" => { - let result = this.open(args[0], args[1])?; - this.write_scalar(Scalar::from_int(result, dest.layout.size), dest)?; - } - "close$NOCANCEL" => { let result = this.close(args[0])?; this.write_scalar(Scalar::from_int(result, dest.layout.size), dest)?; @@ -44,11 +39,6 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx this.write_scalar(Scalar::from_int(result, dest.layout.size), dest)?; } - "lseek" => { - let result = this.lseek64(args[0], args[1], args[2])?; - this.write_scalar(Scalar::from_int(result, dest.layout.size), dest)?; - } - // Time related shims "gettimeofday" => { let result = this.gettimeofday(args[0], args[1])?;