Merge pull request #566 from trevyn/wasm

build: Allow building C compiler-rt fallbacks for wasm
This commit is contained in:
Amanieu d'Antras 2024-01-30 18:08:17 +00:00 committed by GitHub
commit a80b0d7eb5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 5 additions and 6 deletions

View file

@ -90,8 +90,8 @@ jobs:
- run: rustup component add llvm-tools-preview
- name: Download compiler-rt reference sources
run: |
curl -L -o code.tar.gz https://github.com/rust-lang/llvm-project/archive/rustc/12.0-2021-04-15.tar.gz
tar xzf code.tar.gz --strip-components 1 llvm-project-rustc-12.0-2021-04-15/compiler-rt
curl -L -o code.tar.gz https://github.com/rust-lang/llvm-project/archive/rustc/13.0-2021-08-08.tar.gz
tar xzf code.tar.gz --strip-components 1 llvm-project-rustc-13.0-2021-08-08/compiler-rt
echo RUST_COMPILER_RT_ROOT=./compiler-rt >> $GITHUB_ENV
shell: bash

View file

@ -56,10 +56,8 @@ fn main() {
if !cfg!(feature = "mangled-names") && cfg!(feature = "c") {
// Don't use a C compiler for these targets:
//
// * wasm - clang for wasm is somewhat hard to come by and it's
// unlikely that the C is really that much better than our own Rust.
// * nvptx - everything is bitcode, not compatible with mixed C/Rust
if !target.contains("wasm") && !target.contains("nvptx") {
if !target.contains("nvptx") {
#[cfg(feature = "c")]
c::compile(&llvm_target, &target);
}

View file

@ -1,6 +1,6 @@
FROM ubuntu:20.04
RUN apt-get update && \
apt-get install -y --no-install-recommends \
gcc libc6-dev ca-certificates
gcc clang libc6-dev ca-certificates
ENV CARGO_TARGET_WASM32_UNKNOWN_UNKNOWN_RUNNER=true

View file

@ -66,6 +66,7 @@ for rlib in $(echo $path); do
grep -v __x86.get_pc_thunk | \
grep -v __builtin_cl | \
grep -v __builtin_ctz | \
grep -v __builtin_sadd_overflow | \
grep 'T __'
if test $? = 0; then