From: Ken Jin Date: Fri, 11 Apr 2025 08:06:05 +0000 (+0800) Subject: gh-132257: Remove -flto-partition=none for Linux LTO builds (GH-132258) X-Git-Tag: v3.14.0b1~535 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bc0b94b30c9d65ba550daee2c2ef20035defd980;p=thirdparty%2FPython%2Fcpython.git gh-132257: Remove -flto-partition=none for Linux LTO builds (GH-132258) Change the default LTO flags on GCC to not pass -flto-partition=none, and allow parallelization of LTO. This has a multiple factor speedup for LTO build times on GCC, with no noticeable loss in performance. On newer make and newer GCC, this passes the jobserver automatically to GCC (or more like GCC grabs it from the env vars). On older make, this will have benign warnings about serial compilation. It's safe to ignore them. --- diff --git a/Misc/NEWS.d/next/Build/2025-04-08-09-11-32.gh-issue-132257.oZWBV-.rst b/Misc/NEWS.d/next/Build/2025-04-08-09-11-32.gh-issue-132257.oZWBV-.rst new file mode 100644 index 000000000000..5bf20d2f1d0d --- /dev/null +++ b/Misc/NEWS.d/next/Build/2025-04-08-09-11-32.gh-issue-132257.oZWBV-.rst @@ -0,0 +1 @@ +Change the default LTO flags on GCC to not pass ``-flto-partition=none``, and allow parallelization of LTO. For newer GNU makes and GCC, this has a multiple factor speedup for LTO build times, with no noticeable loss in performance. diff --git a/configure b/configure index 24a7d1d43f04..decb8f2449d1 100755 --- a/configure +++ b/configure @@ -8894,7 +8894,7 @@ fi LTOCFLAGS="-flto" ;; *) - LTOFLAGS="-flto -fuse-linker-plugin -ffat-lto-objects -flto-partition=none" + LTOFLAGS="-flto -fuse-linker-plugin -ffat-lto-objects" ;; esac ;; diff --git a/configure.ac b/configure.ac index bc6479c048f7..004797b5233c 100644 --- a/configure.ac +++ b/configure.ac @@ -2031,7 +2031,7 @@ if test "$Py_LTO" = 'true' ; then LTOCFLAGS="-flto" ;; *) - LTOFLAGS="-flto -fuse-linker-plugin -ffat-lto-objects -flto-partition=none" + LTOFLAGS="-flto -fuse-linker-plugin -ffat-lto-objects" ;; esac ;;