From 937978eeef7c4df943a3e9ede907f141fcd5c8b2 Mon Sep 17 00:00:00 2001 From: Amanieu d'Antras Date: Sat, 4 Dec 2021 13:03:30 +0000 Subject: Update the intrinsic checker tool (#1258) --- .../stdarch/ci/docker/aarch64-unknown-linux-gnu/Dockerfile | 4 ++-- .../ci/docker/armv7-unknown-linux-gnueabihf/Dockerfile | 8 ++++++-- library/stdarch/ci/run-docker.sh | 2 +- library/stdarch/ci/run.sh | 12 +++++++++++- 4 files changed, 20 insertions(+), 6 deletions(-) (limited to 'library/stdarch/ci') diff --git a/library/stdarch/ci/docker/aarch64-unknown-linux-gnu/Dockerfile b/library/stdarch/ci/docker/aarch64-unknown-linux-gnu/Dockerfile index 2b43841907f..49464dacfcc 100644 --- a/library/stdarch/ci/docker/aarch64-unknown-linux-gnu/Dockerfile +++ b/library/stdarch/ci/docker/aarch64-unknown-linux-gnu/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:20.04 +FROM ubuntu:21.10 RUN apt-get update && apt-get install -y --no-install-recommends \ gcc \ g++ \ @@ -10,7 +10,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ qemu-user \ make \ file \ - clang-12 \ + clang-13 \ lld ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \ diff --git a/library/stdarch/ci/docker/armv7-unknown-linux-gnueabihf/Dockerfile b/library/stdarch/ci/docker/armv7-unknown-linux-gnueabihf/Dockerfile index 25390629337..74181a4cb82 100644 --- a/library/stdarch/ci/docker/armv7-unknown-linux-gnueabihf/Dockerfile +++ b/library/stdarch/ci/docker/armv7-unknown-linux-gnueabihf/Dockerfile @@ -1,13 +1,17 @@ -FROM ubuntu:18.04 +FROM ubuntu:21.10 RUN apt-get update && apt-get install -y --no-install-recommends \ gcc \ + g++ \ ca-certificates \ libc6-dev \ gcc-arm-linux-gnueabihf \ + g++-arm-linux-gnueabihf \ libc6-dev-armhf-cross \ qemu-user \ make \ - file + file \ + clang-13 \ + lld ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \ CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUNNER="qemu-arm -L /usr/arm-linux-gnueabihf" \ OBJDUMP=arm-linux-gnueabihf-objdump diff --git a/library/stdarch/ci/run-docker.sh b/library/stdarch/ci/run-docker.sh index fb47b752d54..32209d96c65 100755 --- a/library/stdarch/ci/run-docker.sh +++ b/library/stdarch/ci/run-docker.sh @@ -25,7 +25,7 @@ run() { --env NORUN \ --env RUSTFLAGS \ --env STDARCH_TEST_NORUN \ - --volume "$(dirname "$(dirname "$(command -v cargo)")")":/cargo \ + --volume "${HOME}/.cargo":/cargo \ --volume "$(rustc --print sysroot)":/rust:ro \ --volume "$(pwd)":/checkout:ro \ --volume "$(pwd)"/target:/checkout/target \ diff --git a/library/stdarch/ci/run.sh b/library/stdarch/ci/run.sh index b8482478f65..12c5a865d49 100755 --- a/library/stdarch/ci/run.sh +++ b/library/stdarch/ci/run.sh @@ -37,6 +37,13 @@ case ${TARGET} in mips-* | mipsel-*) export RUSTFLAGS="${RUSTFLAGS} -C llvm-args=-fast-isel=false" ;; + # Some of our test dependencies use the deprecated `gcc` crates which is + # missing a fix from https://github.com/alexcrichton/cc-rs/pull/627. Apply + # the workaround manually here. + armv7-*eabihf | thumbv7-*eabihf) + export RUSTFLAGS="${RUSTFLAGS} -Ctarget-feature=+neon" + export TARGET_CFLAGS="-mfpu=vfpv3-d16" + ;; esac echo "RUSTFLAGS=${RUSTFLAGS}" @@ -122,7 +129,10 @@ esac if [ "${TARGET}" = "aarch64-unknown-linux-gnu" ]; then export CPPFLAGS="-fuse-ld=lld -I/usr/aarch64-linux-gnu/include/ -I/usr/aarch64-linux-gnu/include/c++/9/aarch64-linux-gnu/" - cargo run ${INTRINSIC_TEST} --release --bin intrinsic-test -- crates/intrinsic-test/acle/tools/intrinsic_db/advsimd.csv --runner "${CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER}" --cppcompiler "clang++-12" --skip crates/intrinsic-test/missing.txt + RUST_LOG=warn cargo run ${INTRINSIC_TEST} --release --bin intrinsic-test -- crates/intrinsic-test/acle/tools/intrinsic_db/advsimd.csv --runner "${CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER}" --cppcompiler "clang++-13" --skip crates/intrinsic-test/missing_aarch64.txt +elif [ "${TARGET}" = "armv7-unknown-linux-gnueabihf" ]; then + export CPPFLAGS="-fuse-ld=lld -I/usr/arm-linux-gnueabihf/include/ -I/usr/arm-linux-gnueabihf/include/c++/9/arm-linux-gnueabihf/" + RUST_LOG=warn cargo run ${INTRINSIC_TEST} --release --bin intrinsic-test -- crates/intrinsic-test/acle/tools/intrinsic_db/advsimd.csv --runner "${CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUNNER}" --cppcompiler "clang++-13" --skip crates/intrinsic-test/missing_arm.txt --a32 fi if [ "$NORUN" != "1" ] && [ "$NOSTD" != 1 ]; then -- cgit 1.4.1-3-g733a5