* Use `global_asm!` instead of external assembly files This commit moves the external assembly files of the `wasmtime-fiber` crate into `global_asm!` blocks defined in Rust. The motivation for doing this is not very strong at this time, but the points in favor of this are: * One less tool needed to cross-compile Wasmtime. A linker is still needed but perhaps one day that will improve as well. * A "modern" assembler, built-in to LLVM, is used instead of whatever appears on the system. The first point hasn't really cropped up that much and typically getting an assembler is just as hard as getting a linker nowadays. The second point though has us using `hint #xx` in aarch64 assembly instead of the actual instructions for assembler compatibility, and I believe that's no longer necessary because the LLVM assembler supports the modern instruction names. The translation of the x86/x86_64 assembly has been done to Intel syntax as well as opposed to the old AT&T syntax since that's Rust's default. Additionally s390x still remains in an external assembler file because `global_asm!` is still unstable in Rust on that platform. * Simplify alignment specification * Temporarily disable fail-fast * Add `.cfi_def_cfa_offset 0` to fix CI * Turn off fail-fast * Review comments
34 lines
905 B
TOML
34 lines
905 B
TOML
[package]
|
|
name = "wasmtime-fiber"
|
|
version = "0.39.0"
|
|
authors = ["The Wasmtime Project Developers"]
|
|
description = "Fiber support for Wasmtime"
|
|
license = "Apache-2.0 WITH LLVM-exception"
|
|
repository = "https://github.com/bytecodealliance/wasmtime"
|
|
edition = "2021"
|
|
|
|
# We link to some native code with symbols that don't change often, so let Cargo
|
|
# know that we can't show up multiple times in a crate graph. If this is an
|
|
# issue in the future we should tweak the build script to set `#define`
|
|
# directives or similar to embed a version number of this crate in symbols.
|
|
links = "wasmtime-fiber-shims"
|
|
|
|
[dependencies]
|
|
cfg-if = "1.0"
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
rustix = { version = "0.35.6", features = ["mm", "param"] }
|
|
|
|
[target.'cfg(windows)'.dependencies.winapi]
|
|
version = "0.3.9"
|
|
features = [
|
|
"fibersapi",
|
|
"winbase",
|
|
]
|
|
|
|
[build-dependencies]
|
|
cc = "1.0"
|
|
|
|
[dev-dependencies]
|
|
backtrace = "0.3.61"
|