From 26fd3458f9fe61385fd9e2bb209e11529a22279d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Thu, 20 Feb 2025 16:30:13 +0100 Subject: [PATCH] Windows: Configure MinGW LTO with `-fno-use-linker-plugin -fwhole-program` - Works around and closes #102867. - Works around and closes #102982. Co-authored-by: Hein-Pieter van Braam-Stewart --- platform/windows/detect.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/platform/windows/detect.py b/platform/windows/detect.py index db65bb64a7b..6f57b880441 100644 --- a/platform/windows/detect.py +++ b/platform/windows/detect.py @@ -781,6 +781,10 @@ def configure_mingw(env: "SConsEnvironment"): else: env.Append(CCFLAGS=["-flto"]) env.Append(LINKFLAGS=["-flto"]) + if not env["use_llvm"]: + # For mingw-gcc LTO, disable linker plugin and enable whole program to work around GH-102867. + env.Append(CCFLAGS=["-fno-use-linker-plugin", "-fwhole-program"]) + env.Append(LINKFLAGS=["-fno-use-linker-plugin", "-fwhole-program"]) if env["use_asan"]: env.Append(LINKFLAGS=["-Wl,--stack," + str(STACK_SIZE_SANITIZERS)])