about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJakub Beránek <berykubik@gmail.com>2023-07-31 19:56:35 +0200
committerJakub Beránek <berykubik@gmail.com>2023-10-09 21:46:14 +0200
commit240a7dd02eb67c3a48f8cd3fa3b0de3c310aab93 (patch)
tree24a336c8639057e8b047249179ea54ae6cc3259f
parentbe581d9f82a1bcc547c685d7e1b411c246b0bb00 (diff)
downloadrust-240a7dd02eb67c3a48f8cd3fa3b0de3c310aab93.tar.gz
rust-240a7dd02eb67c3a48f8cd3fa3b0de3c310aab93.zip
Build GCC with support for BOLT
-rwxr-xr-xsrc/ci/docker/host-x86_64/dist-x86_64-linux/build-gcc.sh7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/ci/docker/host-x86_64/dist-x86_64-linux/build-gcc.sh b/src/ci/docker/host-x86_64/dist-x86_64-linux/build-gcc.sh
index 6da3f89220e..3b3ec5da74b 100755
--- a/src/ci/docker/host-x86_64/dist-x86_64-linux/build-gcc.sh
+++ b/src/ci/docker/host-x86_64/dist-x86_64-linux/build-gcc.sh
@@ -27,10 +27,15 @@ sed -i'' 's|ftp://gcc\.gnu\.org/|https://gcc.gnu.org/|g' ./contrib/download_prer
 ./contrib/download_prerequisites
 mkdir ../gcc-build
 cd ../gcc-build
+
+# '-fno-reorder-blocks-and-partition' is required to
+# enable BOLT optimization of the C++ standard library,
+# which is included in librustc_driver.so
 hide_output ../gcc-$GCC/configure \
     --prefix=/rustroot \
     --enable-languages=c,c++ \
-    --disable-gnu-unique-object
+    --disable-gnu-unique-object \
+    --enable-cxx-flags='-fno-reorder-blocks-and-partition'
 hide_output make -j$(nproc)
 hide_output make install
 ln -s gcc /rustroot/bin/cc