Skip to content

Commit 66d5ad3

Browse files
authored
Add release binaries for 32-bit platforms (bytecodealliance#10025)
This commit notably adds release binaries for: * `i686-unknown-linux-gnu` - named `i686-linux` * `i686-pc-windows-msvc` - named `i686-windows` * `armv7-unknown-linux-gnueabihf` - named `armv7-linux` These artifacts all use Pulley for their execution of WebAssembly and have been added to the tiers listing under tier 3.
1 parent 48f4621 commit 66d5ad3

File tree

5 files changed

+57
-11
lines changed

5 files changed

+57
-11
lines changed

ci/build-build-matrix.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,24 @@ const array = [
9292
"target": "aarch64-pc-windows-msvc",
9393
"env": { "RUSTFLAGS": "-Ctarget-feature=+crt-static" },
9494
},
95+
{
96+
"build": "i686-linux",
97+
"os": ubuntu,
98+
"target": "i686-unknown-linux-gnu",
99+
"env": { "DOCKER_IMAGE": "./ci/docker/i686-linux/Dockerfile" },
100+
},
101+
{
102+
"build": "armv7-linux",
103+
"os": ubuntu,
104+
"target": "armv7-unknown-linux-gnueabihf",
105+
"env": { "DOCKER_IMAGE": "./ci/docker/armv7-linux/Dockerfile" },
106+
},
107+
{
108+
"build": "i686-windows",
109+
"os": windows,
110+
"target": "i686-pc-windows-msvc",
111+
"env": { "RUSTFLAGS": "-Ctarget-feature=+crt-static" },
112+
},
95113
];
96114

97115
const builds = [];

ci/docker/armv7-linux/Dockerfile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM ubuntu:16.04
2+
3+
RUN apt-get update -y && apt-get install -y gcc gcc-arm-linux-gnueabihf ca-certificates curl make git ninja-build
4+
RUN git config --global --add safe.directory '*'
5+
6+
# The CMake in Ubuntu 16.04 was a bit too old for us to use so download one from
7+
# CMake's own releases and use that instead.
8+
RUN curl -L https://github.com/Kitware/CMake/releases/download/v3.29.3/cmake-3.29.3-linux-x86_64.tar.gz | tar xzf -
9+
ENV PATH=$PATH:/cmake-3.29.3-linux-x86_64/bin
10+
11+
ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc

ci/docker/i686-linux/Dockerfile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM almalinux:8
2+
3+
RUN dnf install -y git gcc make cmake git unzip glibc-devel.i686
4+
RUN git config --global --add safe.directory '*'
5+
6+
WORKDIR /usr/local/bin
7+
RUN curl -LO https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-linux.zip
8+
RUN unzip ./ninja-linux
9+
WORKDIR /
10+
11+
ENV CC_i686-unknown-linux-gnu=gcc

crates/c-api/src/val.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ pub union wasmtime_val_union {
152152

153153
const _: () = {
154154
assert!(std::mem::size_of::<wasmtime_val_union>() == 16);
155-
assert!(std::mem::align_of::<wasmtime_val_union>() == 8);
155+
assert!(std::mem::align_of::<wasmtime_val_union>() == std::mem::align_of::<u64>());
156156
};
157157

158158
// The raw pointers are actually optional boxes.

docs/stability-tiers.md

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -87,16 +87,22 @@ For explanations of what each tier means see below.
8787

8888
| Category | Description | Missing Tier 2 Requirements |
8989
|----------------------|-----------------------------------|-----------------------------|
90-
| Target | `aarch64-pc-windows-msvc` | CI testing, unwinding, full-time maintainer |
90+
| Target | `aarch64-apple-ios` | CI testing, full-time maintainer |
91+
| Target | `aarch64-linux-android` | CI testing, full-time maintainer |
92+
| Target | `aarch64-pc-windows-msvc` | CI testing, full-time maintainer |
93+
| Target | `aarch64-unknown-linux-musl` [^4] | CI testing, full-time maintainer |
94+
| Target | `armv7-unknown-linux-gnueabihf` | full-time maintainer |
95+
| Target | `i686-pc-windows-msvc` | CI testing, full-time maintainer |
96+
| Target | `i686-unknown-linux-gnu` | full-time maintainer |
9197
| Target | `riscv64gc-unknown-linux-gnu` | full-time maintainer |
9298
| Target | `wasm32-wasip1` [^3] | Supported but not tested |
93-
| Target | `aarch64-linux-android` | CI testing, full-time maintainer |
9499
| Target | `x86_64-linux-android` | CI testing, full-time maintainer |
95-
| Target | `x86_64-unknown-linux-musl` [^4] | CI testing, full-time maintainer |
96-
| Target | `x86_64-unknown-illumos` | CI testing, full-time maintainer |
97100
| Target | `x86_64-unknown-freebsd` | CI testing, full-time maintainer |
101+
| Target | `x86_64-unknown-illumos` | CI testing, full-time maintainer |
102+
| Target | `x86_64-unknown-linux-musl` [^4] | CI testing, full-time maintainer |
98103
| Compiler Backend | Winch on x86\_64 | WebAssembly proposals (`simd`, `relaxed-simd`, `tail-call`, `reference-types`, `threads`) |
99104
| Compiler Backend | Winch on aarch64 | Complete implementation |
105+
| Execution Backend | Pulley | fuzzing |
100106
| WebAssembly Proposal | [`gc`] | Complete implementation |
101107
| WASI Proposal | [`wasi-nn`] | More expansive CI testing |
102108
| WASI Proposal | [`wasi-threads`] | More CI, unstable proposal |
@@ -142,14 +148,14 @@ features; rather design discussion and PRs are welcome for many of the below
142148
features to figure out how best to implement them and at least move them to Tier
143149
3 above.
144150

145-
* Target: ARM 32-bit
146151
* Target: [AArch64 FreeBSD](https://github.com/bytecodealliance/wasmtime/issues/5499)
147152
* Target: [NetBSD/OpenBSD](https://github.com/bytecodealliance/wasmtime/issues/6962)
148-
* Target: [i686 (32-bit Intel targets)](https://github.com/bytecodealliance/wasmtime/issues/1980)
149-
* Target: MIPS
150-
* Target: SPARC
151-
* Target: PowerPC
152-
* Target: RISC-V 32-bit
153+
* Cranelift Target: [i686 (32-bit Intel targets)](https://github.com/bytecodealliance/wasmtime/issues/1980)
154+
* Cranelift Target: ARM 32-bit
155+
* Cranelift Target: MIPS
156+
* Cranelift Target: SPARC
157+
* Cranelift Target: PowerPC
158+
* Cranelift Target: RISC-V 32-bit
153159
* WebAssembly Proposals: see [documentation here](./stability-wasm-proposals.md)
154160
* [WASI proposal: `proxy-wasm`](https://github.com/proxy-wasm/spec)
155161
* [WASI proposal: `wasi-blob-store`](https://github.com/WebAssembly/wasi-blob-store)

0 commit comments

Comments
 (0)