3 files changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -44,6 +44,8 @@ RUN mkdir -p /rustroot/bin
44
44
ENV PATH=/rustroot/bin:$PATH
45
45
ENV LD_LIBRARY_PATH=/rustroot/lib64:/rustroot/lib32:/rustroot/lib
46
46
ENV PKG_CONFIG_PATH=/rustroot/lib/pkgconfig
47
+ # Clang needs to access GCC headers to enable linker plugin LTO
48
+ ENV GCC_VERSION=9.5.0
47
49
WORKDIR /tmp
48
50
RUN mkdir /home/user
49
51
COPY host-x86_64/dist-x86_64-linux/shared.sh /tmp/
@@ -104,3 +106,7 @@ ENV DIST_SRC 1
104
106
ENV LIBCURL_NO_PKG_CONFIG 1
105
107
106
108
ENV DIST_REQUIRE_ALL_TOOLS 1
109
+
110
+ # FIXME: Without this, LLVMgold.so incorrectly resolves to the system
111
+ # libstdc++, instead of the one we build.
112
+ ENV LD_PRELOAD=/rustroot/lib64/libstdc++.so.6
Original file line number Diff line number Diff line change @@ -39,6 +39,7 @@ hide_output \
39
39
-DLLVM_INCLUDE_TESTS=OFF \
40
40
-DLLVM_INCLUDE_EXAMPLES=OFF \
41
41
-DLLVM_ENABLE_PROJECTS=" clang;lld;compiler-rt;bolt" \
42
+ -DLLVM_BINUTILS_INCDIR=" /rustroot/lib/gcc/x86_64-pc-linux-gnu/$GCC_VERSION /plugin/include/" \
42
43
-DC_INCLUDE_DIRS=" $INC "
43
44
44
45
hide_output make -j$( nproc)
Original file line number Diff line number Diff line change 1
1
#! /usr/bin/env bash
2
- set -ex
2
+ set -eux
3
3
4
4
source shared.sh
5
5
6
6
# Note: in the future when bumping to version 10.1.0, also take care of the sed block below.
7
- GCC=9.5.0
7
+ # This version is specified in the Dockerfile
8
+ GCC=$GCC_VERSION
8
9
9
10
curl https://ftp.gnu.org/gnu/gcc/gcc-$GCC /gcc-$GCC .tar.xz | xzcat | tar xf -
10
11
cd gcc-$GCC
0 commit comments