[wasi-common]: add armv7 support to wasi-common (#1269)

* Add armv7 support to wasi-common

This commit enables `target_pointer_width = 32` compatibility for
`wasi-common` (and by transitivity, any crate found inside, e.g., `yanix`).
I've also added a simplistic (bare minimum) check to our CI to ensure
that `wasi-common` cross-compiles to `armv7-unknown-gnueabihf` fine.
While here, I've done the same for `wasm32-unknown-emscripten`.

* Clean arch-specific impls + reuse libc consts

* Make SeekLoc::from_raw platform independent

* Collapse CI cc jobs into one
This commit is contained in:
Jakub Konka
2020-03-10 19:18:59 +01:00
committed by GitHub
parent 67bfeea16f
commit bd5e71b038
11 changed files with 76 additions and 129 deletions

View File

@@ -119,19 +119,22 @@ jobs:
env:
RUST_BACKTRACE: 1
# Install wasm32-unknown-emscripten target, and ensure `crates/wasi-common`
# compiles to Emscripten.
# TODO enable once rust-lang/rust#66308 is fixed
# emscripten:
# name: Emscripten
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v1
# with:
# submodules: true
# - uses: ./.github/actions/install-rust
# - run: rustup target add wasm32-unknown-emscripten
# - run: cargo build --target wasm32-unknown-emscripten -p wasi-common
# Check whether `crates/wasi-common` cross-compiles to the following targets:
# * wasm32-unknown-emscripten
# * armv7-unknown-linux-gnueabihf
crosscompile:
name: Cross-platform checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
submodules: true
- uses: ./.github/actions/install-rust
- run: |
rustup target add wasm32-unknown-emscripten
cargo check --target wasm32-unknown-emscripten -p wasi-common
rustup target add armv7-unknown-linux-gnueabihf
cargo check --target armv7-unknown-linux-gnueabihf -p wasi-common
# Perform all tests (debug mode) for `wasmtime`. This runs stable/beta/nightly
# channels of Rust as well as macOS/Linux/Windows.