Auto merge of #134564 - Kobzol:revert-aarch64-runner, r=nikic
Revert "Auto merge of #133809 - mrkajetanp:ci-aarch64-dist, r=Kobzol" This reverts https://github.com/rust-lang/rust/pull/133809, as it produced broken aarch64 artifacts (https://github.com/rust-lang/rust/issues/134563). `@bors` p=1
This commit is contained in:
commit
bad2aa4721
16 changed files with 99 additions and 129 deletions
|
@ -1,99 +0,0 @@
|
|||
# We document platform support for minimum glibc 2.17 and kernel 3.2.
|
||||
# CentOS 7 has headers for kernel 3.10, but that's fine as long as we don't
|
||||
# actually use newer APIs in rustc or std without a fallback. It's more
|
||||
# important that we match glibc for ELF symbol versioning.
|
||||
FROM centos:7
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
# CentOS 7 EOL is June 30, 2024, but the repos remain in the vault.
|
||||
RUN sed -i /etc/yum.repos.d/*.repo -e 's!^mirrorlist!#mirrorlist!' \
|
||||
-e 's!^#baseurl=http://mirror.centos.org/!baseurl=https://vault.centos.org/!'
|
||||
RUN sed -i 's/enabled=1/enabled=0/' /etc/yum/pluginconf.d/fastestmirror.conf
|
||||
|
||||
RUN yum upgrade -y && \
|
||||
yum install -y \
|
||||
automake \
|
||||
bzip2 \
|
||||
file \
|
||||
gcc \
|
||||
gcc-c++ \
|
||||
git \
|
||||
glibc-devel \
|
||||
libedit-devel \
|
||||
libstdc++-devel \
|
||||
make \
|
||||
ncurses-devel \
|
||||
openssl-devel \
|
||||
patch \
|
||||
perl \
|
||||
perl-core \
|
||||
pkgconfig \
|
||||
python3 \
|
||||
unzip \
|
||||
wget \
|
||||
xz \
|
||||
zlib-devel \
|
||||
&& yum clean all
|
||||
|
||||
RUN mkdir -p /rustroot/bin
|
||||
|
||||
ENV PATH=/rustroot/bin:$PATH
|
||||
ENV LD_LIBRARY_PATH=/rustroot/lib64:/rustroot/lib32:/rustroot/lib
|
||||
ENV PKG_CONFIG_PATH=/rustroot/lib/pkgconfig
|
||||
WORKDIR /tmp
|
||||
RUN mkdir /home/user
|
||||
COPY scripts/shared.sh /tmp/
|
||||
|
||||
# Need at least GCC 5.1 to compile LLVM
|
||||
COPY scripts/build-gcc.sh /tmp/
|
||||
RUN ./build-gcc.sh && yum remove -y gcc gcc-c++
|
||||
|
||||
ENV CC=gcc CXX=g++
|
||||
|
||||
# LLVM 17 needs cmake 3.20 or higher.
|
||||
COPY scripts/cmake.sh /tmp/
|
||||
RUN ./cmake.sh
|
||||
|
||||
# Build LLVM+Clang
|
||||
COPY scripts/build-clang.sh /tmp/
|
||||
ENV LLVM_BUILD_TARGETS=AArch64
|
||||
RUN ./build-clang.sh
|
||||
ENV CC=clang CXX=clang++
|
||||
|
||||
# Build zstd to enable `llvm.libzstd`.
|
||||
COPY scripts/build-zstd.sh /tmp/
|
||||
RUN ./build-zstd.sh
|
||||
|
||||
COPY scripts/sccache.sh /scripts/
|
||||
RUN sh /scripts/sccache.sh
|
||||
|
||||
ENV PGO_HOST=aarch64-unknown-linux-gnu
|
||||
ENV HOSTS=aarch64-unknown-linux-gnu
|
||||
|
||||
ENV CPATH=/usr/include/aarch64-linux-gnu/:$CPATH
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS \
|
||||
--build=aarch64-unknown-linux-gnu \
|
||||
--enable-full-tools \
|
||||
--enable-profiler \
|
||||
--enable-sanitizers \
|
||||
--enable-compiler-docs \
|
||||
--set target.aarch64-unknown-linux-gnu.linker=clang \
|
||||
--set target.aarch64-unknown-linux-gnu.ar=/rustroot/bin/llvm-ar \
|
||||
--set target.aarch64-unknown-linux-gnu.ranlib=/rustroot/bin/llvm-ranlib \
|
||||
--set llvm.link-shared=true \
|
||||
--set llvm.thin-lto=true \
|
||||
--set llvm.libzstd=true \
|
||||
--set llvm.ninja=false \
|
||||
--set rust.debug-assertions=false \
|
||||
--set rust.jemalloc \
|
||||
--set rust.use-lld=true \
|
||||
--set rust.codegen-units=1
|
||||
|
||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
|
||||
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=clang
|
||||
ENV DIST_SRC 1
|
||||
ENV LIBCURL_NO_PKG_CONFIG 1
|
||||
ENV DIST_REQUIRE_ALL_TOOLS 1
|
32
src/ci/docker/host-x86_64/dist-aarch64-linux/Dockerfile
Normal file
32
src/ci/docker/host-x86_64/dist-aarch64-linux/Dockerfile
Normal file
|
@ -0,0 +1,32 @@
|
|||
FROM ubuntu:22.04
|
||||
|
||||
COPY scripts/cross-apt-packages.sh /scripts/
|
||||
RUN sh /scripts/cross-apt-packages.sh
|
||||
|
||||
COPY scripts/crosstool-ng.sh /scripts/
|
||||
RUN sh /scripts/crosstool-ng.sh
|
||||
|
||||
COPY scripts/rustbuild-setup.sh /scripts/
|
||||
RUN sh /scripts/rustbuild-setup.sh
|
||||
WORKDIR /tmp
|
||||
|
||||
COPY scripts/crosstool-ng-build.sh /scripts/
|
||||
COPY host-x86_64/dist-aarch64-linux/aarch64-linux-gnu.defconfig /tmp/crosstool.defconfig
|
||||
RUN /scripts/crosstool-ng-build.sh
|
||||
|
||||
COPY scripts/sccache.sh /scripts/
|
||||
RUN sh /scripts/sccache.sh
|
||||
|
||||
ENV PATH=$PATH:/x-tools/aarch64-unknown-linux-gnu/bin
|
||||
|
||||
ENV CC_aarch64_unknown_linux_gnu=aarch64-unknown-linux-gnu-gcc \
|
||||
AR_aarch64_unknown_linux_gnu=aarch64-unknown-linux-gnu-ar \
|
||||
CXX_aarch64_unknown_linux_gnu=aarch64-unknown-linux-gnu-g++
|
||||
|
||||
ENV HOSTS=aarch64-unknown-linux-gnu
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS \
|
||||
--enable-full-tools \
|
||||
--enable-profiler \
|
||||
--enable-sanitizers
|
||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
|
@ -0,0 +1,10 @@
|
|||
CT_CONFIG_VERSION="4"
|
||||
CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
|
||||
CT_USE_MIRROR=y
|
||||
CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc"
|
||||
CT_ARCH_ARM=y
|
||||
CT_ARCH_64=y
|
||||
CT_KERNEL_LINUX=y
|
||||
CT_LINUX_V_4_1=y
|
||||
CT_GLIBC_V_2_17=y
|
||||
CT_CC_LANG_CXX=y
|
|
@ -46,11 +46,10 @@ ENV LD_LIBRARY_PATH=/rustroot/lib64:/rustroot/lib32:/rustroot/lib
|
|||
ENV PKG_CONFIG_PATH=/rustroot/lib/pkgconfig
|
||||
WORKDIR /tmp
|
||||
RUN mkdir /home/user
|
||||
COPY scripts/shared.sh /tmp/
|
||||
COPY host-x86_64/dist-x86_64-linux/shared.sh /tmp/
|
||||
|
||||
# Need at least GCC 5.1 to compile LLVM nowadays
|
||||
COPY scripts/build-gcc.sh /tmp/
|
||||
ENV GCC_BUILD_TARGET=i686
|
||||
COPY host-x86_64/dist-x86_64-linux/build-gcc.sh /tmp/
|
||||
RUN ./build-gcc.sh && yum remove -y gcc gcc-c++
|
||||
|
||||
COPY scripts/cmake.sh /tmp/
|
||||
|
@ -58,8 +57,7 @@ RUN ./cmake.sh
|
|||
|
||||
# Now build LLVM+Clang, afterwards configuring further compilations to use the
|
||||
# clang/clang++ compilers.
|
||||
COPY scripts/build-clang.sh /tmp/
|
||||
ENV LLVM_BUILD_TARGETS=X86
|
||||
COPY host-x86_64/dist-x86_64-linux/build-clang.sh /tmp/
|
||||
RUN ./build-clang.sh
|
||||
ENV CC=clang CXX=clang++
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ RUN /scripts/crosstool-ng-build.sh
|
|||
WORKDIR /build
|
||||
|
||||
RUN apt-get install -y --no-install-recommends rpm2cpio cpio
|
||||
COPY scripts/shared.sh host-x86_64/dist-powerpc64le-linux/build-powerpc64le-toolchain.sh /build/
|
||||
COPY host-x86_64/dist-powerpc64le-linux/shared.sh host-x86_64/dist-powerpc64le-linux/build-powerpc64le-toolchain.sh /build/
|
||||
RUN ./build-powerpc64le-toolchain.sh
|
||||
|
||||
COPY scripts/sccache.sh /scripts/
|
||||
|
|
16
src/ci/docker/host-x86_64/dist-powerpc64le-linux/shared.sh
Normal file
16
src/ci/docker/host-x86_64/dist-powerpc64le-linux/shared.sh
Normal file
|
@ -0,0 +1,16 @@
|
|||
#!/bin/sh
|
||||
hide_output() {
|
||||
set +x
|
||||
on_err="
|
||||
echo ERROR: An error was encountered with the build.
|
||||
cat /tmp/build.log
|
||||
exit 1
|
||||
"
|
||||
trap "$on_err" ERR
|
||||
bash -c "while true; do sleep 30; echo \$(date) - building ...; done" &
|
||||
PING_LOOP_PID=$!
|
||||
"$@" &> /tmp/build.log
|
||||
trap - ERR
|
||||
kill $PING_LOOP_PID
|
||||
set -x
|
||||
}
|
|
@ -46,10 +46,10 @@ ENV LD_LIBRARY_PATH=/rustroot/lib64:/rustroot/lib32:/rustroot/lib
|
|||
ENV PKG_CONFIG_PATH=/rustroot/lib/pkgconfig
|
||||
WORKDIR /tmp
|
||||
RUN mkdir /home/user
|
||||
COPY scripts/shared.sh /tmp/
|
||||
COPY host-x86_64/dist-x86_64-linux/shared.sh /tmp/
|
||||
|
||||
# Need at least GCC 5.1 to compile LLVM nowadays
|
||||
COPY scripts/build-gcc.sh /tmp/
|
||||
COPY host-x86_64/dist-x86_64-linux/build-gcc.sh /tmp/
|
||||
RUN ./build-gcc.sh && yum remove -y gcc gcc-c++
|
||||
|
||||
# LLVM 17 needs cmake 3.20 or higher.
|
||||
|
@ -58,13 +58,12 @@ RUN ./cmake.sh
|
|||
|
||||
# Now build LLVM+Clang, afterwards configuring further compilations to use the
|
||||
# clang/clang++ compilers.
|
||||
COPY scripts/build-clang.sh /tmp/
|
||||
ENV LLVM_BUILD_TARGETS=X86
|
||||
COPY host-x86_64/dist-x86_64-linux/build-clang.sh /tmp/
|
||||
RUN ./build-clang.sh
|
||||
ENV CC=clang CXX=clang++
|
||||
|
||||
# Build zstd to enable `llvm.libzstd`.
|
||||
COPY scripts/build-zstd.sh /tmp/
|
||||
COPY host-x86_64/dist-x86_64-linux/build-zstd.sh /tmp/
|
||||
RUN ./build-zstd.sh
|
||||
|
||||
COPY scripts/sccache.sh /scripts/
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -exu
|
||||
set -ex
|
||||
|
||||
source shared.sh
|
||||
|
||||
|
@ -34,7 +34,7 @@ hide_output \
|
|||
-DCOMPILER_RT_BUILD_XRAY=OFF \
|
||||
-DCOMPILER_RT_BUILD_MEMPROF=OFF \
|
||||
-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF \
|
||||
-DLLVM_TARGETS_TO_BUILD=$LLVM_BUILD_TARGETS \
|
||||
-DLLVM_TARGETS_TO_BUILD=X86 \
|
||||
-DLLVM_INCLUDE_BENCHMARKS=OFF \
|
||||
-DLLVM_INCLUDE_TESTS=OFF \
|
||||
-DLLVM_INCLUDE_EXAMPLES=OFF \
|
|
@ -50,9 +50,7 @@ cd ..
|
|||
rm -rf gcc-build
|
||||
rm -rf gcc-$GCC
|
||||
|
||||
if [[ $GCC_BUILD_TARGET == "i686" ]]; then
|
||||
# FIXME: clang doesn't find 32-bit libraries in /rustroot/lib,
|
||||
# but it does look all the way under /rustroot/lib/[...]/32,
|
||||
# so we can link stuff there to help it out.
|
||||
ln /rustroot/lib/*.{a,so} -rst /rustroot/lib/gcc/x86_64-pc-linux-gnu/$GCC/32/
|
||||
fi
|
||||
# FIXME: clang doesn't find 32-bit libraries in /rustroot/lib,
|
||||
# but it does look all the way under /rustroot/lib/[...]/32,
|
||||
# so we can link stuff there to help it out.
|
||||
ln /rustroot/lib/*.{a,so} -rst /rustroot/lib/gcc/x86_64-pc-linux-gnu/$GCC/32/
|
16
src/ci/docker/host-x86_64/dist-x86_64-linux/shared.sh
Normal file
16
src/ci/docker/host-x86_64/dist-x86_64-linux/shared.sh
Normal file
|
@ -0,0 +1,16 @@
|
|||
#!/bin/sh
|
||||
hide_output() {
|
||||
set +x
|
||||
on_err="
|
||||
echo ERROR: An error was encountered with the build.
|
||||
cat /tmp/build.log
|
||||
exit 1
|
||||
"
|
||||
trap "$on_err" ERR
|
||||
bash -c "while true; do sleep 30; echo \$(date) - building ...; done" &
|
||||
PING_LOOP_PID=$!
|
||||
"$@" &> /tmp/build.log
|
||||
trap - ERR
|
||||
kill $PING_LOOP_PID
|
||||
set -x
|
||||
}
|
|
@ -54,8 +54,8 @@ ENV RUST_CONFIGURE_ARGS \
|
|||
--set rust.randomize-layout=true \
|
||||
--set rust.thin-lto-import-instr-limit=10
|
||||
|
||||
COPY scripts/shared.sh /scripts/
|
||||
COPY scripts/build-gccjit.sh /scripts/
|
||||
COPY host-x86_64/dist-x86_64-linux/shared.sh /scripts/
|
||||
COPY host-x86_64/dist-x86_64-linux/build-gccjit.sh /scripts/
|
||||
|
||||
RUN /scripts/build-gccjit.sh /scripts
|
||||
|
||||
|
|
|
@ -54,8 +54,8 @@ ENV RUST_CONFIGURE_ARGS \
|
|||
--set rust.randomize-layout=true \
|
||||
--set rust.thin-lto-import-instr-limit=10
|
||||
|
||||
COPY scripts/shared.sh /scripts/
|
||||
COPY scripts/build-gccjit.sh /scripts/
|
||||
COPY host-x86_64/dist-x86_64-linux/shared.sh /scripts/
|
||||
COPY host-x86_64/dist-x86_64-linux/build-gccjit.sh /scripts/
|
||||
|
||||
RUN /scripts/build-gccjit.sh /scripts
|
||||
|
||||
|
|
|
@ -89,8 +89,8 @@ ENV HOST_TARGET x86_64-unknown-linux-gnu
|
|||
# assertions enabled! Therefore, we cannot force download CI rustc.
|
||||
#ENV FORCE_CI_RUSTC 1
|
||||
|
||||
COPY scripts/shared.sh /scripts/
|
||||
COPY scripts/build-gccjit.sh /scripts/
|
||||
COPY host-x86_64/dist-x86_64-linux/shared.sh /scripts/
|
||||
COPY host-x86_64/dist-x86_64-linux/build-gccjit.sh /scripts/
|
||||
|
||||
RUN /scripts/build-gccjit.sh /scripts
|
||||
|
||||
|
|
|
@ -129,17 +129,17 @@ auto:
|
|||
- image: aarch64-gnu-debug
|
||||
<<: *job-linux-8c-aarch64
|
||||
|
||||
- image: dist-aarch64-linux
|
||||
env:
|
||||
CODEGEN_BACKENDS: llvm,cranelift
|
||||
<<: *job-linux-8c-aarch64
|
||||
|
||||
- image: arm-android
|
||||
<<: *job-linux-4c
|
||||
|
||||
- image: armhf-gnu
|
||||
<<: *job-linux-4c
|
||||
|
||||
- image: dist-aarch64-linux
|
||||
env:
|
||||
CODEGEN_BACKENDS: llvm,cranelift
|
||||
<<: *job-linux-4c
|
||||
|
||||
- image: dist-android
|
||||
<<: *job-linux-4c
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue