Commit 48096e4
committed
Bump mach2 dep from 0.4.2 to 0.6
mach2 v0.4.2 emits `compile_error!("mach requires macOS or iOS")` on any
target where neither `target_os = "macos"` nor `target_os = "ios"` matches.
That blocks every Apple non-iOS-non-macOS platform — most pressingly
arm64_32-apple-watchos for embedders shipping wasmtime on Apple Watch.
The fix has been upstream in mach2 since 0.6.0 (commit `538ce75`,
2025-08-16, "Add support for tvOS, watchOS and visionOS"), which widens
the cfg gate from `cfg(any(macos, ios))` to `cfg(target_vendor = "apple")`
on both the `compile_error!` and the `libc` build-dep, with no public-API
changes in the modules wasmtime imports
(`exc`, `exception_types`, `kern_return`, `mach_init`, `mach_port`,
`message`, `ndr`, `port`, `thread_act`, `thread_status`).
Verified by building wasmtime as a `staticlib` for `arm64_32-apple-watchos`
under `nightly-2026-01-25 + -Z build-std=std,panic_abort` with
`--features pulley,runtime,std,cranelift,anyhow` — no other changes
needed in `crates/wasmtime/src/runtime/vm/sys/unix/machports.rs`.
The dev-only path (`cranelift-jit -> region -> mach2 0.4.x`) keeps an
older mach2 in the lockfile for cranelift-jit's own host tests; that
path is not part of any production embedder build and stays unchanged.
Closes the watchOS port story without needing a separate mach2 release.1 parent 9521862 commit 48096e4
2 files changed
Lines changed: 11 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
394 | 394 | | |
395 | 395 | | |
396 | 396 | | |
397 | | - | |
| 397 | + | |
398 | 398 | | |
399 | 399 | | |
400 | 400 | | |
| |||
0 commit comments