Skip to content

Commit 53a7775

Browse files
committed
tidy up proposed Dockerfile & run.sh
1 parent 915fb4e commit 53a7775

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
@@ -144,6 +144,14 @@ case ${TARGET} in
144144
TEST_CXX_COMPILER="clang++-19"
145145
TEST_RUNNER="${CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER}"
146146
;;
147+
148+
aarch64_be-unknown-linux-gnu*)
149+
TEST_CPPFLAGS="-fuse-ld=lld"
150+
TEST_SKIP_INTRINSICS=crates/intrinsic-test/missing_aarch64.txt
151+
TEST_CXX_COMPILER="clang++-19"
152+
TEST_RUNNER="${CARGO_TARGET_AARCH64_BE_UNKNOWN_LINUX_GNU_RUNNER}"
153+
;;
154+
147155
armv7-unknown-linux-gnueabihf*)
148156
TEST_CPPFLAGS="-fuse-ld=lld -I/usr/arm-linux-gnueabihf/include/ -I/usr/arm-linux-gnueabihf/include/c++/9/arm-linux-gnueabihf/"
149157
TEST_SKIP_INTRINSICS=crates/intrinsic-test/missing_arm.txt
@@ -167,41 +175,18 @@ case "${TARGET}" in
167175
--target "${TARGET}"
168176
;;
169177

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

0 commit comments

Comments
 (0)