summaryrefslogtreecommitdiffstats
path: root/library/stdarch/ci
diff options
context:
space:
mode:
Diffstat (limited to 'library/stdarch/ci')
-rw-r--r--library/stdarch/ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile10
-rwxr-xr-xlibrary/stdarch/ci/run.sh7
2 files changed, 13 insertions, 4 deletions
diff --git a/library/stdarch/ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile b/library/stdarch/ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile
index 7ea795cac..af26b2682 100644
--- a/library/stdarch/ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile
+++ b/library/stdarch/ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile
@@ -2,8 +2,12 @@ FROM ubuntu:23.04
RUN apt-get update && apt-get install -y --no-install-recommends \
gcc libc6-dev qemu-user ca-certificates \
- gcc-riscv64-linux-gnu libc6-dev-riscv64-cross
+ gcc-riscv64-linux-gnu libc6-dev-riscv64-cross \
+ llvm
ENV CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_LINKER=riscv64-linux-gnu-gcc \
- CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_RUNNER="qemu-riscv64 -L /usr/riscv64-linux-gnu -cpu rv64,zk=true,zbb=true,zbc=true" \
- OBJDUMP=riscv64-linux-gnu-objdump
+ CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_RUNNER="qemu-riscv64 \
+ -L /usr/riscv64-linux-gnu \
+ -cpu rv64,zk=true,zks=true,zbb=true,zbc=true \
+ " \
+ OBJDUMP=llvm-objdump
diff --git a/library/stdarch/ci/run.sh b/library/stdarch/ci/run.sh
index 7b2416fda..20cd4c564 100755
--- a/library/stdarch/ci/run.sh
+++ b/library/stdarch/ci/run.sh
@@ -33,6 +33,11 @@ case ${TARGET} in
i686-* | i586-*)
export RUSTFLAGS="${RUSTFLAGS} -C relocation-model=static -Z plt=yes"
;;
+ # Some x86_64 targets enable by default more features beyond SSE2,
+ # which cause some instruction assertion checks to fail.
+ x86_64-*)
+ export RUSTFLAGS="${RUSTFLAGS} -C target-feature=-sse3"
+ ;;
#Unoptimized build uses fast-isel which breaks with msa
mips-* | mipsel-*)
export RUSTFLAGS="${RUSTFLAGS} -C llvm-args=-fast-isel=false"
@@ -47,7 +52,7 @@ case ${TARGET} in
# Some of our test dependencies use the deprecated `gcc` crates which
# doesn't detect RISC-V compilers automatically, so do it manually here.
riscv64*)
- export RUSTFLAGS="${RUSTFLAGS} -Ctarget-feature=+zk,+zbb,+zbc"
+ export RUSTFLAGS="${RUSTFLAGS} -Ctarget-feature=+zk,+zks,+zbb,+zbc"
export TARGET_CC="riscv64-linux-gnu-gcc"
;;
esac