about summary refs log tree commit diff
path: root/library/stdarch/ci/docker/aarch64_be-unknown-linux-gnu/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'library/stdarch/ci/docker/aarch64_be-unknown-linux-gnu/Dockerfile')
-rw-r--r--library/stdarch/ci/docker/aarch64_be-unknown-linux-gnu/Dockerfile30
1 files changed, 30 insertions, 0 deletions
diff --git a/library/stdarch/ci/docker/aarch64_be-unknown-linux-gnu/Dockerfile b/library/stdarch/ci/docker/aarch64_be-unknown-linux-gnu/Dockerfile
new file mode 100644
index 00000000000..74f770556db
--- /dev/null
+++ b/library/stdarch/ci/docker/aarch64_be-unknown-linux-gnu/Dockerfile
@@ -0,0 +1,30 @@
+FROM ubuntu:25.04
+
+RUN apt-get update && apt-get install -y --no-install-recommends \
+  gcc \
+  g++ \
+  ca-certificates \
+  libc6-dev \
+  libc6-dev-arm64-cross \
+  qemu-user \
+  make \
+  file \
+  clang-19 \
+  curl \
+  xz-utils \
+  lld
+
+ENV TOOLCHAIN="arm-gnu-toolchain-14.2.rel1-x86_64-aarch64_be-none-linux-gnu"
+
+# Download the aarch64_be gcc toolchain
+RUN curl -L "https://developer.arm.com/-/media/Files/downloads/gnu/14.2.rel1/binrel/${TOOLCHAIN}.tar.xz" -o "${TOOLCHAIN}.tar.xz"
+RUN tar -xvf "${TOOLCHAIN}.tar.xz"
+RUN mkdir /toolchains && mv "./${TOOLCHAIN}" /toolchains
+
+ENV AARCH64_BE_TOOLCHAIN="/toolchains/${TOOLCHAIN}"
+ENV AARCH64_BE_LIBC="${AARCH64_BE_TOOLCHAIN}/aarch64_be-none-linux-gnu/libc"
+
+ENV CARGO_TARGET_AARCH64_BE_UNKNOWN_LINUX_GNU_LINKER="${AARCH64_BE_TOOLCHAIN}/bin/aarch64_be-none-linux-gnu-gcc"
+ENV CARGO_TARGET_AARCH64_BE_UNKNOWN_LINUX_GNU_RUNNER="qemu-aarch64_be -cpu max -L ${AARCH64_BE_LIBC}"
+ENV OBJDUMP="${AARCH64_BE_TOOLCHAIN}/bin/aarch64_be-none-linux-gnu-objdump"
+ENV STDARCH_TEST_SKIP_FEATURE=tme