Skip to content

Commit dc19171

Browse files
committed
Upgrade CPU for qemu
+ Disable `vsx` tests for `ppc` and `ppc64` + Disable `tme` tests for `aarch64` and `aarch64_be` + Disable `frsqrt` tests for `loongarch64` + [DO NOT MERGE] enables `fail-fast` for easier debugging
1 parent d263ac7 commit dc19171

File tree

13 files changed

+21
-22
lines changed

13 files changed

+21
-22
lines changed

.github/workflows/main.yml

+1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ jobs:
4040
name: Test
4141
runs-on: ${{ matrix.target.os }}
4242
strategy:
43+
fail-fast: false
4344
matrix:
4445
profile:
4546
- dev

ci/docker/aarch64-unknown-linux-gnu/Dockerfile

+3-2
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1414
lld
1515

1616
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \
17-
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER="qemu-aarch64 -L /usr/aarch64-linux-gnu" \
18-
OBJDUMP=aarch64-linux-gnu-objdump
17+
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER="qemu-aarch64 -cpu max -L /usr/aarch64-linux-gnu" \
18+
OBJDUMP=aarch64-linux-gnu-objdump \
19+
SKIP_TESTS=tme

ci/docker/aarch64_be-unknown-linux-gnu/Dockerfile

+2-1
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,6 @@ ENV AARCH64_BE_TOOLCHAIN="/toolchains/${TOOLCHAIN}"
2525
ENV AARCH64_BE_LIBC="${AARCH64_BE_TOOLCHAIN}/aarch64_be-none-linux-gnu/libc"
2626

2727
ENV CARGO_TARGET_AARCH64_BE_UNKNOWN_LINUX_GNU_LINKER="${AARCH64_BE_TOOLCHAIN}/bin/aarch64_be-none-linux-gnu-gcc"
28-
ENV CARGO_TARGET_AARCH64_BE_UNKNOWN_LINUX_GNU_RUNNER="qemu-aarch64_be -L ${AARCH64_BE_LIBC}"
28+
ENV CARGO_TARGET_AARCH64_BE_UNKNOWN_LINUX_GNU_RUNNER="qemu-aarch64_be -cpu max -L ${AARCH64_BE_LIBC}"
2929
ENV OBJDUMP="${AARCH64_BE_TOOLCHAIN}/bin/bin/aarch64-none-linux-gnu-objdump"
30+
ENV SKIP_TESTS=tme

ci/docker/arm-unknown-linux-gnueabihf/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
99
make \
1010
file
1111
ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \
12-
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_RUNNER="qemu-arm -L /usr/arm-linux-gnueabihf" \
12+
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_RUNNER="qemu-arm -cpu max -L /usr/arm-linux-gnueabihf" \
1313
OBJDUMP=arm-linux-gnueabihf-objdump

ci/docker/armv7-unknown-linux-gnueabihf/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1313
clang-19 \
1414
lld
1515
ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \
16-
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUNNER="qemu-arm -L /usr/arm-linux-gnueabihf" \
16+
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUNNER="qemu-arm -cpu max -L /usr/arm-linux-gnueabihf" \
1717
OBJDUMP=arm-linux-gnueabihf-objdump

ci/docker/loongarch64-unknown-linux-gnu/Dockerfile

+3-2
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@ RUN apt-get update && \
77

88

99
ENV CARGO_TARGET_LOONGARCH64_UNKNOWN_LINUX_GNU_LINKER=loongarch64-linux-gnu-gcc-14 \
10-
CARGO_TARGET_LOONGARCH64_UNKNOWN_LINUX_GNU_RUNNER="qemu-loongarch64-static -L /usr/loongarch64-linux-gnu" \
11-
OBJDUMP=loongarch64-linux-gnu-objdump
10+
CARGO_TARGET_LOONGARCH64_UNKNOWN_LINUX_GNU_RUNNER="qemu-loongarch64-static -cpu max -L /usr/loongarch64-linux-gnu" \
11+
OBJDUMP=loongarch64-linux-gnu-objdump \
12+
SKIP_TESTS=frsqrt

ci/docker/powerpc-unknown-linux-gnu/Dockerfile

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
66
qemu-system-ppc make file
77

88
ENV CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_LINKER=powerpc-linux-gnu-gcc \
9-
CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc -cpu Vger -L /usr/powerpc-linux-gnu" \
9+
CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc -cpu apollo7 -L /usr/powerpc-linux-gnu" \
1010
CC=powerpc-linux-gnu-gcc \
11-
OBJDUMP=powerpc-linux-gnu-objdump
11+
OBJDUMP=powerpc-linux-gnu-objdump \
12+
SKIP_TESTS=vsx

ci/docker/powerpc64-unknown-linux-gnu/Dockerfile

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
66
file make
77

88
ENV CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_LINKER=powerpc64-linux-gnu-gcc \
9-
CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc64 -cpu power10 -L /usr/powerpc64-linux-gnu" \
9+
CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc64 -cpu power11 -L /usr/powerpc64-linux-gnu" \
1010
CC=powerpc64-linux-gnu-gcc \
11-
OBJDUMP=powerpc64-linux-gnu-objdump
11+
OBJDUMP=powerpc64-linux-gnu-objdump \
12+
SKIP_TESTS=vsx

ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
77

88
# Work around qemu triggering a sigill on vec_subs if the cpu target is not defined.
99
ENV CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_LINKER=powerpc64le-linux-gnu-gcc \
10-
CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc64le -cpu power10 -L /usr/powerpc64le-linux-gnu" \
10+
CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc64le -cpu power11 -L /usr/powerpc64le-linux-gnu" \
1111
CC=powerpc64le-linux-gnu-gcc \
1212
OBJDUMP=powerpc64le-linux-gnu-objdump

ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile

+1-4
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,5 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
66
llvm
77

88
ENV CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_LINKER=riscv64-linux-gnu-gcc \
9-
CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_RUNNER="qemu-riscv64 \
10-
-L /usr/riscv64-linux-gnu \
11-
-cpu rv64,zk=true,zks=true,zbb=true,zbc=true \
12-
" \
9+
CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_RUNNER="qemu-riscv64 -cpu max -L /usr/riscv64-linux-gnu" \
1310
OBJDUMP=llvm-objdump

ci/docker/s390x-unknown-linux-gnu/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1010
file
1111

1212
ENV CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_LINKER=s390x-linux-gnu-gcc \
13-
CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_RUNNER="qemu-s390x -L /usr/s390x-linux-gnu" \
13+
CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_RUNNER="qemu-s390x -cpu max -L /usr/s390x-linux-gnu" \
1414
OBJDUMP=s390x-linux-gnu-objdump

ci/run-docker.sh

-2
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,10 @@ run() {
2424
--env CARGO_TARGET_DIR=/checkout/target \
2525
--env TARGET="${target}" \
2626
--env STDARCH_TEST_EVERYTHING \
27-
--env STDARCH_ASSERT_INSTR_IGNORE \
2827
--env STDARCH_DISABLE_ASSERT_INSTR \
2928
--env NOSTD \
3029
--env NORUN \
3130
--env RUSTFLAGS \
32-
--env STDARCH_TEST_NORUN \
3331
--volume "${HOME}/.cargo":/cargo \
3432
--volume "$(rustc --print sysroot)":/rust:ro \
3533
--volume "$(pwd)":/checkout:ro \

ci/run.sh

+1-3
Original file line numberDiff line numberDiff line change
@@ -132,9 +132,7 @@ case ${TARGET} in
132132
export RUSTFLAGS="${RUSTFLAGS} -C target-feature=+vector-enhancements-1"
133133
cargo_test "${PROFILE}"
134134
;;
135-
powerpc64*)
136-
# We don't build the ppc 32-bit targets with these - these targets
137-
# are mostly unsupported for now.
135+
powerpc*)
138136
OLD_RUSTFLAGS="${RUSTFLAGS}"
139137
export RUSTFLAGS="${OLD_RUSTFLAGS} -C target-feature=+altivec"
140138
cargo_test "${PROFILE}"

0 commit comments

Comments
 (0)