build: Allow building C compiler-rt fallbacks for wasm
This commit is contained in:
parent
72dbe301ff
commit
0808cdeb67
4 changed files with 5 additions and 9 deletions
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -56,15 +56,10 @@ 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
|
||||
// * riscv - the rust-lang/rust distribution container doesn't have a C
|
||||
// compiler.
|
||||
if !target.contains("wasm")
|
||||
&& !target.contains("nvptx")
|
||||
&& (!target.starts_with("riscv") || target.contains("xous"))
|
||||
{
|
||||
if !target.contains("nvptx") && (!target.starts_with("riscv") || target.contains("xous")) {
|
||||
#[cfg(feature = "c")]
|
||||
c::compile(&llvm_target, &target);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue