mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-30 00:01:50 +00:00
35cf81d389
This patch pulls in Cranelift revision 47a218f908e6bdeb7a0fb65ed74e58a0b608080d, which incorporates several relevant changes: - It includes the Spectre mitigation for explicit heap bounds checks merged in PR bytecodealliance/wasmtime#1930, resolving Bug 1648885. - It includes the fix for an out-of-bounds subtraction on large shift amounts merged in PR bytecodealliance/wasmtime#1954, resolving Bug 1649432. We need to temporarily disable the `wasm/limits.js` jit-test on Cranelift configurations because it now needs shared memory to work, and the Cranelift backend does not support this yet. Given that this should be ready in the next month at most (requires atomics support on AArch64, which is currently being examined), it seems simpler to temporarily disable the test on aarch64 than to try to disentangle the bits that depend on shared memories explicitly. This patch also edits the `regexp/bug1445907.js` jit-test to run only if Wasm debugging is supported. This is needed for the test not to fail with `--wasm-compiler=cranelift` (which disables Baseline, the only Wasm compiler that supports debugging). Differential Revision: https://phabricator.services.mozilla.com/D81936
82 lines
2.9 KiB
TOML
82 lines
2.9 KiB
TOML
[workspace]
|
|
|
|
# These are the "root" crates, which we build and test as top-level targets.
|
|
# Their transitive dependencies and dev-dependencies are included automatically
|
|
# and do not need to be listed here. Their external dependencies are vendored
|
|
# into `third_party/rust` by `mach vendor rust`.
|
|
members = [
|
|
"js/rust",
|
|
"js/src",
|
|
"js/src/frontend/smoosh",
|
|
"js/src/rust",
|
|
"js/src/wasm/cranelift",
|
|
"netwerk/test/http3server",
|
|
"security/manager/ssl/osclientcerts",
|
|
"testing/geckodriver",
|
|
"toolkit/components/updateagent",
|
|
"toolkit/crashreporter/rust",
|
|
"toolkit/library/gtest/rust",
|
|
"toolkit/library/rust/",
|
|
]
|
|
|
|
# Excluded crates may be built as dependencies, but won't be considered members
|
|
# of the workspace and their dev-dependencies won't be included.
|
|
exclude = [
|
|
# Excluded because it's for a toolchain task
|
|
"build/liblowercase",
|
|
|
|
# Exclude third-party code vendored into mozilla-central.
|
|
"servo",
|
|
"third_party/rust",
|
|
|
|
# Excluded because these crates have their own Cargo workspaces so they can't
|
|
# be included in the top-level one.
|
|
"gfx/wgpu",
|
|
"gfx/wr",
|
|
"media/audioipc",
|
|
"media/cubeb-rs",
|
|
|
|
# Excluded because they are used only as dependencies, not top-level targets,
|
|
# so we don't need to vendor their dev-dependencies.
|
|
"gfx/webrender_bindings",
|
|
"media/mp4parse-rust/mp4parse",
|
|
"media/mp4parse-rust/mp4parse_capi",
|
|
"xpcom/rust/gkrust_utils",
|
|
"tools/lint/test/files/clippy",
|
|
"tools/fuzzing/rust",
|
|
]
|
|
|
|
# Explicitly specify what our profiles use. The opt-level setting here is
|
|
# a total fiction; see the setup of MOZ_RUST_DEFAULT_FLAGS for what the
|
|
# opt-level setting will be as a result of various other configure flags.
|
|
[profile.dev]
|
|
opt-level = 1
|
|
rpath = false
|
|
lto = false
|
|
debug-assertions = true
|
|
panic = "abort"
|
|
|
|
[profile.release]
|
|
opt-level = 2
|
|
rpath = false
|
|
debug-assertions = false
|
|
panic = "abort"
|
|
|
|
[patch.crates-io]
|
|
libudev-sys = { path = "dom/webauthn/libudev-sys" }
|
|
packed_simd = { git = "https://github.com/hsivonen/packed_simd", rev="3541e3818fdc7c2a24f87e3459151a4ce955a67a" }
|
|
rlbox_lucet_sandbox = { git = "https://github.com/PLSysSec/rlbox_lucet_sandbox/", rev="d510da5999a744c563b0acd18056069d1698273f" }
|
|
nix = { git = "https://github.com/shravanrn/nix/", branch = "r0.13.1", rev="4af6c367603869a30fddb5ffb0aba2b9477ba92e" }
|
|
spirv_cross = { git = "https://github.com/kvark/spirv_cross", branch = "wgpu3", rev = "20191ad2f370afd6d247edcb9ff9da32d3bedb9c" }
|
|
# failure's backtrace feature might break our builds, see bug 1608157.
|
|
failure = { git = "https://github.com/badboy/failure", rev = "64af847bc5fdcb6d2438bec8a6030812a80519a5" }
|
|
failure_derive = { git = "https://github.com/badboy/failure", rev = "64af847bc5fdcb6d2438bec8a6030812a80519a5" }
|
|
|
|
[patch.crates-io.cranelift-codegen]
|
|
git = "https://github.com/bytecodealliance/wasmtime"
|
|
rev = "47a218f908e6bdeb7a0fb65ed74e58a0b608080d"
|
|
|
|
[patch.crates-io.cranelift-wasm]
|
|
git = "https://github.com/bytecodealliance/wasmtime"
|
|
rev = "47a218f908e6bdeb7a0fb65ed74e58a0b608080d"
|