From 889eddf3b98e3f0e1d08c304aea68b2d3bcf7f33 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Wed, 3 Jun 2020 16:51:30 +0000 Subject: [PATCH] Disable clang's -fintegrated-cc1 stage by default In bug 246630, it was found that part of the rescue binary could be compiled to very slightly different (but still equivalent) machine code, depending on the number of simultaneous make jobs (via the -j option). This turned out to be caused by the upstream change that made clang's first stage compiler (i.e. the -cc1 stage) run as part of the initial clang process invocation, instead of forking and exec'ing a new clang process. We are currently investigating the root cause for the difference in output, but while that is ongoing, disable the integrated cc1 stage for now to work around it. You can always turn it on explicitly by using the -fintegrated-cc1 option, or turn it off with -fno-integrated-cc1. Direct commit to stable/{11,12}, so this can hopefully end up in the upcoming 11.4-RELEASE. Reported by: Fabian Keil PR: 246630 --- lib/clang/include/clang/Config/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/clang/include/clang/Config/config.h b/lib/clang/include/clang/Config/config.h index b704d500195..f2fbe503449 100644 --- a/lib/clang/include/clang/Config/config.h +++ b/lib/clang/include/clang/Config/config.h @@ -82,6 +82,6 @@ /* #undef CLANG_ENABLE_STATIC_ANALYZER */ /* Spawn a new process clang.exe for the CC1 tool invocation, when necessary */ -#define CLANG_SPAWN_CC1 0 +#define CLANG_SPAWN_CC1 1 #endif -- 2.45.0