diff options
| author | bors <bors@rust-lang.org> | 2024-03-10 03:40:32 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-03-10 03:40:32 +0000 |
| commit | 5bc7b9ac8ace5312e1d2cdc2722715cf58d4f926 (patch) | |
| tree | 9813cdd936afdc4cf445619c308bfcd91929f50a /src/ci/docker | |
| parent | 768408af123a455fb27ad8af8055becd5b95d36f (diff) | |
| parent | c5c6729c88b6d00798f46d5c7397e854775d0923 (diff) | |
| download | rust-5bc7b9ac8ace5312e1d2cdc2722715cf58d4f926.tar.gz rust-5bc7b9ac8ace5312e1d2cdc2722715cf58d4f926.zip | |
Auto merge of #122042 - GuillaumeGomez:subtree-update_cg_gcc_2024-03-05, r=MarkSimulacrum
Subtree update cg gcc 2024 03 05 Reopening of #121390. r? `@ghost`
Diffstat (limited to 'src/ci/docker')
4 files changed, 59 insertions, 7 deletions
diff --git a/src/ci/docker/host-x86_64/dist-x86_64-linux/build-gccjit.sh b/src/ci/docker/host-x86_64/dist-x86_64-linux/build-gccjit.sh new file mode 100644 index 00000000000..324dd5fac16 --- /dev/null +++ b/src/ci/docker/host-x86_64/dist-x86_64-linux/build-gccjit.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +set -ex + +cd $1 + +# Setting up folders for GCC +git clone https://github.com/antoyo/gcc gcc-src +cd gcc-src +# This commit hash needs to be updated to use a more recent gcc fork version. +git checkout 78dc50f0e50e6cd1433149520bd512a4e0eaa1bc + +mkdir ../gcc-build ../gcc-install +cd ../gcc-build + +# Building GCC. +../gcc-src/configure \ + --enable-host-shared \ + --enable-languages=jit \ + --enable-checking=release \ + --disable-bootstrap \ + --disable-multilib \ + --prefix=$(pwd)/../gcc-install +make +make install + +rm -rf ../gcc-src +ln -s /scripts/gcc-install/lib/libgccjit.so /usr/lib/x86_64-linux-gnu/libgccjit.so +ln -s /scripts/gcc-install/lib/libgccjit.so /usr/lib/x86_64-linux-gnu/libgccjit.so.0 diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-llvm-16/Dockerfile b/src/ci/docker/host-x86_64/x86_64-gnu-llvm-16/Dockerfile index f4850715e82..6540a500d3a 100644 --- a/src/ci/docker/host-x86_64/x86_64-gnu-llvm-16/Dockerfile +++ b/src/ci/docker/host-x86_64/x86_64-gnu-llvm-16/Dockerfile @@ -24,7 +24,12 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ xz-utils \ nodejs \ mingw-w64 \ - libgccjit-12-dev \ + # libgccjit dependencies + flex \ + libmpfr-dev \ + libgmp-dev \ + libmpc3 \ + libmpc-dev \ && rm -rf /var/lib/apt/lists/* # Note: libgccjit needs to match the default gcc version for the linker to find it. @@ -54,4 +59,8 @@ ENV RUST_CONFIGURE_ARGS \ COPY host-x86_64/x86_64-gnu-llvm-16/script.sh /tmp/ +COPY host-x86_64/dist-x86_64-linux/build-gccjit.sh /scripts/ + +RUN sh /scripts/build-gccjit.sh /scripts + ENV SCRIPT /tmp/script.sh diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-llvm-17/Dockerfile b/src/ci/docker/host-x86_64/x86_64-gnu-llvm-17/Dockerfile index 1eedfe3f09b..ed4e1978c5d 100644 --- a/src/ci/docker/host-x86_64/x86_64-gnu-llvm-17/Dockerfile +++ b/src/ci/docker/host-x86_64/x86_64-gnu-llvm-17/Dockerfile @@ -24,11 +24,14 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ xz-utils \ nodejs \ mingw-w64 \ - libgccjit-13-dev \ + # libgccjit dependencies + flex \ + libmpfr-dev \ + libgmp-dev \ + libmpc3 \ + libmpc-dev \ && rm -rf /var/lib/apt/lists/* -# Note: libgccjit needs to match the default gcc version for the linker to find it. - # Install powershell (universal package) so we can test x.ps1 on Linux RUN curl -sL "https://github.com/PowerShell/PowerShell/releases/download/v7.3.1/powershell_7.3.1-1.deb_amd64.deb" > powershell.deb && \ dpkg -i powershell.deb && \ @@ -55,4 +58,8 @@ ENV RUST_CONFIGURE_ARGS \ COPY host-x86_64/x86_64-gnu-llvm-16/script.sh /tmp/ +COPY host-x86_64/dist-x86_64-linux/build-gccjit.sh /scripts/ + +RUN sh /scripts/build-gccjit.sh /scripts + ENV SCRIPT /tmp/script.sh diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-tools/Dockerfile b/src/ci/docker/host-x86_64/x86_64-gnu-tools/Dockerfile index 82385ea15b7..a03577b4511 100644 --- a/src/ci/docker/host-x86_64/x86_64-gnu-tools/Dockerfile +++ b/src/ci/docker/host-x86_64/x86_64-gnu-tools/Dockerfile @@ -15,7 +15,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ sudo \ xz-utils \ tidy \ - libgccjit-12-dev \ \ # Install dependencies for chromium browser gconf-service \ @@ -57,13 +56,17 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ lsb-release \ xdg-utils \ wget \ + # libgccjit dependencies + flex \ + libmpfr-dev \ + libgmp-dev \ + libmpc3 \ + libmpc-dev \ && rm -rf /var/lib/apt/lists/* COPY scripts/sccache.sh /scripts/ RUN sh /scripts/sccache.sh -# Make `libgccjit.so` accessible. -RUN ln -s /usr/lib/gcc/x86_64-linux-gnu/12/libgccjit.so /usr/lib/x86_64-linux-gnu/libgccjit.so # Fix rustc_codegen_gcc lto issues. ENV GCC_EXEC_PREFIX="/usr/lib/gcc/" @@ -92,6 +95,10 @@ ENV RUST_CONFIGURE_ARGS \ ENV HOST_TARGET x86_64-unknown-linux-gnu +COPY host-x86_64/dist-x86_64-linux/build-gccjit.sh /scripts/ + +RUN sh /scripts/build-gccjit.sh /scripts + ENV SCRIPT /tmp/checktools.sh ../x.py && \ NODE_PATH=`npm root -g` python3 ../x.py test tests/rustdoc-gui --stage 2 \ --test-args "'--no-sandbox --jobs 1'" |
