diff --git a/README.md b/README.md index 708166beb..6a13e8faf 100644 --- a/README.md +++ b/README.md @@ -267,6 +267,7 @@ terminate. | `powerpc-unknown-linux-gnu` | 2.19 | 4.8.2 | ✓ | 3.0.1 | ✓ | | `powerpc64-unknown-linux-gnu` | 2.19 | 4.8.2 | ✓ | 3.0.1 | ✓ | | `powerpc64le-unknown-linux-gnu` | 2.19 | 4.8.2 | ✓ | 3.0.1 | ✓ | +| `riscv64gc-unknown-linux-gnu` | 2.27 | 7.5.0 | ✓ | 4.2.0 | ✓ | | `s390x-unknown-linux-gnu` | 2.23 | 5.3.1 | ✓ | 4.1.0 | | | `sparc64-unknown-linux-gnu` [3] | 2.23 | 5.3.1 | ✓ | 4.1.0 | ✓ | | `sparcv9-sun-solaris` [4] | 2.11 | 5.3.0 | ✓ | N/A | | diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 8aebc02ef..0cffdfe09 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -32,6 +32,7 @@ jobs: powerpc-unknown-linux-gnu: { TARGET: powerpc-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system } powerpc64-unknown-linux-gnu: { TARGET: powerpc64-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system } powerpc64le-unknown-linux-gnu: { TARGET: powerpc64le-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system } + riscv64gc-unknown-linux-gnu: { TARGET: riscv64gc-unknown-linux-gnu, CPP: 1, STD: 1, RUN: 1 } s390x-unknown-linux-gnu: { TARGET: s390x-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-system } sparc64-unknown-linux-gnu: { TARGET: sparc64-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-system } x86_64-unknown-linux-gnu: { TARGET: x86_64-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: native qemu-user qemu-system, DEPLOY: 1, CRATES_IO_PUBLISH: 1 } diff --git a/docker/Dockerfile.riscv64gc-unknown-linux-gnu b/docker/Dockerfile.riscv64gc-unknown-linux-gnu new file mode 100644 index 000000000..3d62c55ca --- /dev/null +++ b/docker/Dockerfile.riscv64gc-unknown-linux-gnu @@ -0,0 +1,26 @@ +FROM ubuntu:18.04 + +COPY common.sh / +RUN /common.sh + +# COPY cmake.sh / +# RUN /cmake.sh + +COPY xargo.sh / +RUN /xargo.sh + +RUN apt-get install -y --no-install-recommends \ + g++-riscv64-linux-gnu \ + libc6-dev-riscv64-cross + +COPY qemu.sh / +RUN /qemu.sh riscv64 + +COPY linux-runner / + +ENV CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_LINKER=riscv64-linux-gnu-gcc \ + CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_RUNNER="/linux-runner riscv64" \ + CC_riscv64gc_unknown_linux_gnu=riscv64-linux-gnu-gcc \ + CXX_riscv64gc_unknown_linux_gnu=riscv64-linux-gnu-g++ \ + QEMU_LD_PREFIX=/usr/riscv64-linux-gnu \ + RUST_TEST_THREADS=1