Skip to content

Commit 782a4b4

Browse files
authored
Merge pull request #4662 from rust-lang/rustup-2025-11-04
Automatic Rustup
2 parents ceb2e4e + c38128b commit 782a4b4

File tree

17 files changed

+287
-261
lines changed

17 files changed

+287
-261
lines changed

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,6 @@ degree documented below):
220220
- `solaris` / `illumos`: maintained by @devnexen. Supports the entire test suite.
221221
- `freebsd`: maintained by @YohDeadfall and @LorrensP-2158466. Supports the entire test suite.
222222
- `android`: **maintainer wanted**. Support very incomplete, but a basic "hello world" works.
223-
- `wasi`: **maintainer wanted**. Support very incomplete, but a basic "hello world" works.
224223
- For targets on other operating systems, Miri might fail before even reaching the `main` function.
225224

226225
However, even for targets that we do support, the degree of support for accessing platform APIs

ci/ci.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,6 @@ case $HOST_TARGET in
153153
BASIC="empty_main integer heap_alloc libc-mem vec string btreemap" # ensures we have the basics: pre-main code, system allocator
154154
UNIX="hello panic/panic panic/unwind concurrency/simple atomic libc-mem libc-misc libc-random env num_cpus" # the things that are very similar across all Unixes, and hence easily supported there
155155
TEST_TARGET=aarch64-linux-android run_tests_minimal $BASIC $UNIX time hashmap random thread sync concurrency epoll eventfd
156-
TEST_TARGET=wasm32-wasip2 run_tests_minimal $BASIC hello wasm
157156
TEST_TARGET=wasm32-unknown-unknown run_tests_minimal no_std empty_main wasm # this target doesn't really have std
158157
TEST_TARGET=thumbv7em-none-eabihf run_tests_minimal no_std
159158
;;

rust-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
c5dabe8cf798123087d094f06417f5a767ca73e8
1+
5f9dd05862d2e4bceb3be1031b6c936e35671501

src/intrinsics/simd.rs

Lines changed: 0 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
use rand::Rng;
2-
use rustc_apfloat::Float;
31
use rustc_middle::ty;
42
use rustc_middle::ty::FloatTy;
53

@@ -83,62 +81,6 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
8381
this.write_scalar(val, &dest)?;
8482
}
8583
}
86-
"fma" | "relaxed_fma" => {
87-
let [a, b, c] = check_intrinsic_arg_count(args)?;
88-
let (a, a_len) = this.project_to_simd(a)?;
89-
let (b, b_len) = this.project_to_simd(b)?;
90-
let (c, c_len) = this.project_to_simd(c)?;
91-
let (dest, dest_len) = this.project_to_simd(dest)?;
92-
93-
assert_eq!(dest_len, a_len);
94-
assert_eq!(dest_len, b_len);
95-
assert_eq!(dest_len, c_len);
96-
97-
for i in 0..dest_len {
98-
let a = this.read_scalar(&this.project_index(&a, i)?)?;
99-
let b = this.read_scalar(&this.project_index(&b, i)?)?;
100-
let c = this.read_scalar(&this.project_index(&c, i)?)?;
101-
let dest = this.project_index(&dest, i)?;
102-
103-
let fuse: bool = intrinsic_name == "fma"
104-
|| (this.machine.float_nondet && this.machine.rng.get_mut().random());
105-
106-
// Works for f32 and f64.
107-
// FIXME: using host floats to work around https://github.com/rust-lang/miri/issues/2468.
108-
let ty::Float(float_ty) = dest.layout.ty.kind() else {
109-
span_bug!(this.cur_span(), "{} operand is not a float", intrinsic_name)
110-
};
111-
let val = match float_ty {
112-
FloatTy::F16 => unimplemented!("f16_f128"),
113-
FloatTy::F32 => {
114-
let a = a.to_f32()?;
115-
let b = b.to_f32()?;
116-
let c = c.to_f32()?;
117-
let res = if fuse {
118-
a.mul_add(b, c).value
119-
} else {
120-
((a * b).value + c).value
121-
};
122-
let res = this.adjust_nan(res, &[a, b, c]);
123-
Scalar::from(res)
124-
}
125-
FloatTy::F64 => {
126-
let a = a.to_f64()?;
127-
let b = b.to_f64()?;
128-
let c = c.to_f64()?;
129-
let res = if fuse {
130-
a.mul_add(b, c).value
131-
} else {
132-
((a * b).value + c).value
133-
};
134-
let res = this.adjust_nan(res, &[a, b, c]);
135-
Scalar::from(res)
136-
}
137-
FloatTy::F128 => unimplemented!("f16_f128"),
138-
};
139-
this.write_scalar(val, &dest)?;
140-
}
141-
}
14284
"expose_provenance" => {
14385
let [op] = check_intrinsic_arg_count(args)?;
14486
let (op, op_len) = this.project_to_simd(op)?;

src/machine.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1347,8 +1347,8 @@ impl<'tcx> Machine<'tcx> for MiriMachine<'tcx> {
13471347
}
13481348

13491349
#[inline(always)]
1350-
fn float_fuse_mul_add(ecx: &mut InterpCx<'tcx, Self>) -> bool {
1351-
ecx.machine.float_nondet && ecx.machine.rng.get_mut().random()
1350+
fn float_fuse_mul_add(ecx: &InterpCx<'tcx, Self>) -> bool {
1351+
ecx.machine.float_nondet && ecx.machine.rng.borrow_mut().random()
13521352
}
13531353

13541354
#[inline(always)]

src/shims/env.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ impl<'tcx> EnvVars<'tcx> {
5151
} else if ecx.tcx.sess.target.os == "windows" {
5252
EnvVars::Windows(WindowsEnvVars::new(ecx, env_vars)?)
5353
} else {
54-
// Used e.g. for wasi
54+
// For "none" targets (i.e., without an OS).
5555
EnvVars::Uninit
5656
};
5757
ecx.machine.env_vars = env_vars;

src/shims/foreign_items.rs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,6 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
102102
let this = self.eval_context_ref();
103103
match this.tcx.sess.target.os.as_ref() {
104104
os if this.target_os_is_unix() => shims::unix::foreign_items::is_dyn_sym(name, os),
105-
"wasi" => shims::wasi::foreign_items::is_dyn_sym(name),
106105
"windows" => shims::windows::foreign_items::is_dyn_sym(name),
107106
_ => false,
108107
}
@@ -846,10 +845,6 @@ trait EvalContextExtPriv<'tcx>: crate::MiriInterpCxExt<'tcx> {
846845
shims::unix::foreign_items::EvalContextExt::emulate_foreign_item_inner(
847846
this, link_name, abi, args, dest,
848847
),
849-
"wasi" =>
850-
shims::wasi::foreign_items::EvalContextExt::emulate_foreign_item_inner(
851-
this, link_name, abi, args, dest,
852-
),
853848
"windows" =>
854849
shims::windows::foreign_items::EvalContextExt::emulate_foreign_item_inner(
855850
this, link_name, abi, args, dest,

src/shims/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ mod math;
88
#[cfg(all(unix, feature = "native-lib"))]
99
mod native_lib;
1010
mod unix;
11-
mod wasi;
1211
mod windows;
1312
mod x86;
1413

src/shims/tls.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,6 @@ impl<'tcx> TlsDtorsState<'tcx> {
253253
}
254254
_ => {
255255
// No TLS dtor support.
256-
// FIXME: should we do something on wasi?
257256
break 'new_state Done;
258257
}
259258
}

src/shims/wasi/foreign_items.rs

Lines changed: 0 additions & 110 deletions
This file was deleted.

0 commit comments

Comments
 (0)