Skip to content

Commit 5d44492

Browse files
committed
Auto merge of rust-lang#3190 - RalfJung:freebsd32, r=RalfJung
test Miri on 32bit FreeBSD
2 parents 807ba04 + 6246b75 commit 5d44492

File tree

4 files changed

+6
-5
lines changed

4 files changed

+6
-5
lines changed

src/tools/miri/ci.sh

+1
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ case $HOST_TARGET in
109109
MIRI_TEST_TARGET=aarch64-apple-darwin run_tests
110110
MIRI_TEST_TARGET=i686-pc-windows-gnu run_tests
111111
MIRI_TEST_TARGET=x86_64-unknown-freebsd run_tests_minimal hello integer vec panic/panic concurrency/simple pthread-threadname libc-getentropy libc-getrandom libc-misc libc-fs atomic env align
112+
MIRI_TEST_TARGET=i686-unknown-freebsd run_tests_minimal hello integer vec panic/panic concurrency/simple pthread-threadname libc-getentropy libc-getrandom libc-misc libc-fs atomic env align
112113
MIRI_TEST_TARGET=aarch64-linux-android run_tests_minimal hello integer vec panic/panic
113114
MIRI_TEST_TARGET=wasm32-wasi run_tests_minimal no_std integer strings wasm
114115
MIRI_TEST_TARGET=wasm32-unknown-unknown run_tests_minimal no_std integer strings wasm

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -163,14 +163,14 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriInterpCxExt<'mir, 'tcx> {
163163
this.check_shim(abi, Abi::C { unwind: false }, link_name, args)?;
164164
let fd = this.read_scalar(fd)?.to_i32()?;
165165
let length = this.read_scalar(length)?.to_i64()?;
166-
let result = this.ftruncate64(fd, length)?;
166+
let result = this.ftruncate64(fd, length.into())?;
167167
this.write_scalar(result, dest)?;
168168
}
169169
"ftruncate" => {
170170
let [fd, length] =
171171
this.check_shim(abi, Abi::C { unwind: false }, link_name, args)?;
172172
let fd = this.read_scalar(fd)?.to_i32()?;
173-
let length = this.read_target_isize(length)?;
173+
let length = this.read_scalar(length)?.to_int(this.libc_ty_layout("off_t").size)?;
174174
let result = this.ftruncate64(fd, length)?;
175175
this.write_scalar(result, dest)?;
176176
}

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -1504,7 +1504,7 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriInterpCxExt<'mir, 'tcx> {
15041504
}
15051505
}
15061506

1507-
fn ftruncate64(&mut self, fd: i32, length: i64) -> InterpResult<'tcx, Scalar<Provenance>> {
1507+
fn ftruncate64(&mut self, fd: i32, length: i128) -> InterpResult<'tcx, Scalar<Provenance>> {
15081508
let this = self.eval_context_mut();
15091509

15101510
// Reject if isolation is enabled.

src/tools/miri/tests/utils/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ mod macros;
77
mod fs;
88
mod miri_extern;
99

10-
pub use fs::*;
11-
pub use miri_extern::*;
10+
pub use self::fs::*;
11+
pub use self::miri_extern::*;
1212

1313
pub fn run_provenance_gc() {
1414
// SAFETY: No preconditions. The GC is fine to run at any time.

0 commit comments

Comments
 (0)