about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume.gomez@huawei.com>2023-11-02 21:24:28 +0100
committerGuillaume Gomez <guillaume.gomez@huawei.com>2023-11-03 00:05:12 +0100
commitc890dd66b332b3e13cf413b77372ec3acd35a748 (patch)
tree219b34e2a129b6cfc07210aeeb12944b97269cfd /src
parent30a07094a6ebdc03e23db2a33b2e24f25da55869 (diff)
downloadrust-c890dd66b332b3e13cf413b77372ec3acd35a748.tar.gz
rust-c890dd66b332b3e13cf413b77372ec3acd35a748.zip
Set some environment variables value only if ENABLE_GCC_CODEGEN is set
Diffstat (limited to 'src')
-rw-r--r--src/ci/docker/host-x86_64/x86_64-gnu-llvm-15/Dockerfile8
-rwxr-xr-xsrc/ci/docker/run.sh15
2 files changed, 17 insertions, 6 deletions
diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-llvm-15/Dockerfile b/src/ci/docker/host-x86_64/x86_64-gnu-llvm-15/Dockerfile
index 859b7c18f02..cefdcad7643 100644
--- a/src/ci/docker/host-x86_64/x86_64-gnu-llvm-15/Dockerfile
+++ b/src/ci/docker/host-x86_64/x86_64-gnu-llvm-15/Dockerfile
@@ -35,10 +35,8 @@ RUN curl -sL "https://github.com/PowerShell/PowerShell/releases/download/v7.3.1/
 COPY scripts/sccache.sh /scripts/
 RUN sh /scripts/sccache.sh
 
-# Make `libgccjit.so` accessible.
+# Make `libgccjit.so` accessible to the linker.
 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/"
 
 # We are disabling CI LLVM since this builder is intentionally using a host
 # LLVM, rather than the typical src/llvm-project LLVM.
@@ -53,8 +51,8 @@ ENV RUST_CONFIGURE_ARGS \
       --build=x86_64-unknown-linux-gnu \
       --llvm-root=/usr/lib/llvm-15 \
       --enable-llvm-link-shared \
-      --set rust.thin-lto-import-instr-limit=10 \
-      --enable-new-symbol-mangling
+      $USE_NEW_MANGLING \
+      --set rust.thin-lto-import-instr-limit=10
 
 COPY host-x86_64/x86_64-gnu-llvm-15/script.sh /tmp/
 
diff --git a/src/ci/docker/run.sh b/src/ci/docker/run.sh
index 5021ed44658..cedbc0390f8 100755
--- a/src/ci/docker/run.sh
+++ b/src/ci/docker/run.sh
@@ -267,11 +267,24 @@ fi
 SUMMARY_FILE=github-summary.md
 touch $objdir/${SUMMARY_FILE}
 
+extra_env=""
+if [ "$ENABLE_GCC_CODEGEN" = "1" ]; then
+  extra_env="$EXTRA_ENV --env ENABLE_GCC_CODEGEN=1"
+  # If `ENABLE_GCC_CODEGEN` is set and not empty, we add the `--enable-new-symbol-mangling`
+  # argument to `RUST_CONFIGURE_ARGS` and set the `GCC_EXEC_PREFIX` environment variable.
+  # `cg_gcc` doesn't support the legacy mangling so we need to enforce the new one
+  # if we run `cg_gcc` tests.
+  extra_env="$EXTRA_ENV --env USE_NEW_MANGLING=--enable-new-symbol-mangling"
+  # Fix rustc_codegen_gcc lto issues.
+  extra_env="$EXTRA_ENV --env GCC_EXEC_PREFIX=/usr/lib/gcc/"
+  echo "Setting extra environment values for docker: $extra_env"
+fi
+
 docker \
   run \
   --workdir /checkout/obj \
   --env SRC=/checkout \
-  --env "ENABLE_GCC_CODEGEN=$ENABLE_GCC_CODEGEN" \
+  $extra_env \
   $args \
   --env CARGO_HOME=/cargo \
   --env DEPLOY \