Skip to content

Commit c7a8dfc

Browse files
JamesbarfordAmanieu
authored andcommitted
tidy up proposed Dockerfile & run.sh
1 parent 65c1d9a commit c7a8dfc

File tree

3 files changed

+45
-44
lines changed

3 files changed

+45
-44
lines changed

Diff for: ci/docker/aarch64_be-none-linux-gnu/Dockerfile

-13
This file was deleted.

Diff for: ci/docker/aarch64_be-unknown-linux-gnu/Dockerfile

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
FROM ubuntu:24.04
2+
3+
RUN apt-get update && apt-get install -y --no-install-recommends \
4+
gcc \
5+
g++ \
6+
ca-certificates \
7+
libc6-dev \
8+
libc6-dev-arm64-cross \
9+
qemu-user \
10+
make \
11+
file \
12+
clang-19 \
13+
curl \
14+
xz-utils \
15+
lld
16+
17+
ENV TOOLCHAIN="arm-gnu-toolchain-14.2.rel1-x86_64-aarch64_be-none-linux-gnu"
18+
19+
# Download the aarch64_be gcc toolchain
20+
RUN curl -L "https://developer.arm.com/-/media/Files/downloads/gnu/14.2.rel1/binrel/${TOOLCHAIN}.tar.xz" -o "${TOOLCHAIN}.tar.xz"
21+
RUN tar -xvf "${TOOLCHAIN}.tar.xz"
22+
RUN mkdir /toolchains && mv "./${TOOLCHAIN}" /toolchains
23+
24+
ENV AARCH64_BE_TOOLCHAIN="/toolchains/${TOOLCHAIN}"
25+
ENV AARCH64_BE_LIBC="${AARCH64_BE_TOOLCHAIN}/aarch64_be-none-linux-gnu/libc"
26+
27+
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}"
29+
ENV OBJDUMP="${AARCH64_BE_TOOLCHAIN}/bin/bin/aarch64-none-linux-gnu-objdump"

Diff for: ci/run.sh

+16-31
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,14 @@ case ${TARGET} in
148148
TEST_CXX_COMPILER="clang++-19"
149149
TEST_RUNNER="${CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER}"
150150
;;
151+
152+
aarch64_be-unknown-linux-gnu*)
153+
TEST_CPPFLAGS="-fuse-ld=lld"
154+
TEST_SKIP_INTRINSICS=crates/intrinsic-test/missing_aarch64.txt
155+
TEST_CXX_COMPILER="clang++-19"
156+
TEST_RUNNER="${CARGO_TARGET_AARCH64_BE_UNKNOWN_LINUX_GNU_RUNNER}"
157+
;;
158+
151159
armv7-unknown-linux-gnueabihf*)
152160
TEST_CPPFLAGS="-fuse-ld=lld -I/usr/arm-linux-gnueabihf/include/ -I/usr/arm-linux-gnueabihf/include/c++/9/arm-linux-gnueabihf/"
153161
TEST_SKIP_INTRINSICS=crates/intrinsic-test/missing_arm.txt
@@ -171,41 +179,18 @@ case "${TARGET}" in
171179
--target "${TARGET}"
172180
;;
173181

174-
aarch64_be-unknown-linux-gnu)
175-
# get the aarch64_be toolchain
176-
TOOLCHAIN="arm-gnu-toolchain-14.2.rel1-x86_64-aarch64_be-none-linux-gnu"
177-
178-
# Download the aarch64_be gcc toolchain
179-
curl -L "https://developer.arm.com/-/media/Files/downloads/gnu/14.2.rel1/binrel/${TOOLCHAIN}.tar.xz" \
180-
-o "${TOOLCHAIN}.tar.xz" && \
181-
tar -xzvf "./${TOOLCHAIN}".tar.xz && \
182-
mdkir /toolchains &&
183-
mv "./${TOOLCHAIN}" /toolchains
184-
185-
# Build the test suite
186-
AARCH64_BE_TOOLCHAIN="/toolchains/${TOOLCHAIN}"
187-
AARCH64_BE_LIBC="${AARCH64_BE_TOOLCHAIN}/aarch64_be-none-linux-gnu/libc"
188-
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER="${AARCH64_BE_TOOLCHAIN}/bin/aarch64_be-none-linux-gnu-gcc" \
189-
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER="qemu-aarch64_be -L ${AARCH64_BE_LIBC}" \
190-
CPPFLAGS="-fuse-ld=lld" \
191-
RUSTFLAGS="-C linker=${AARCH64_BE}/bin/aarch64_be-none-linux-gnu-gcc -C link-args=-static" \
192-
cargo build \
193-
--target="${TARGET}" \
194-
--manifest-path=crates/intrinsic-test/Cargo.toml \
195-
--profile=release
196-
197-
# Now run it
198-
qemu-aarch64_be -L "${AARCH64_BE_LIBC}" \
199-
"./target/${TARGET}/release/intrinsic-test" \
200-
"./intrinsics_data/arm_intrinsics.json" \
182+
aarch64_be-unknown-linux-gnu*)
183+
CPPFLAGS="${TEST_CPPFLAGS}" RUSTFLAGS="${HOST_RUSTFLAGS}" RUST_LOG=warn \
184+
cargo run "${INTRINSIC_TEST}" "${PROFILE}" \
185+
--bin intrinsic-test -- intrinsics_data/arm_intrinsics.json \
186+
--runner "${TEST_RUNNER}" \
187+
--cppcompiler "${TEST_CXX_COMPILER}" \
188+
--skip "${TEST_SKIP_INTRINSICS}" \
201189
--target "${TARGET}" \
202-
--cppcompiler "clang++-19" \
203-
--skip crates/intrinsic-test/missing_aarch64.txt \
204-
--runner "${CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER}" \
205190
--linker "${CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER}" \
206191
--cxx-toolchain-dir "${AARCH64_BE_TOOLCHAIN}"
207192
;;
208-
*)
193+
*)
209194
;;
210195
esac
211196

0 commit comments

Comments
 (0)