diff options
author | Alexander Lobakin <alobakin@pm.me> | 2021-01-21 18:45:55 +0000 |
---|---|---|
committer | Kees Cook <keescook@chromium.org> | 2021-02-17 10:10:37 -0800 |
commit | 2b8689520520175075ca97bc4eaf51ff3f7253aa (patch) | |
tree | 8aca8ffa3b7dc1b7b46828b73e6232fbf43eba0c /Makefile | |
parent | 112b6a8e038d793d016e330f53acb9383ac504b3 (diff) | |
download | linux-stable-2b8689520520175075ca97bc4eaf51ff3f7253aa.tar.gz linux-stable-2b8689520520175075ca97bc4eaf51ff3f7253aa.tar.bz2 linux-stable-2b8689520520175075ca97bc4eaf51ff3f7253aa.zip |
kbuild: prevent CC_FLAGS_LTO self-bloating on recursive rebuilds
CC_FLAGS_LTO gets initialized only via +=, never with := or =.
When building with CONFIG_TRIM_UNUSED_KSYMS, Kbuild may perform
several kernel rebuilds to satisfy symbol dependencies. In this
case, value of CC_FLAGS_LTO is concatenated each time, which
triggers a full rebuild.
Initialize it with := to fix this.
Fixes: dc5723b02e52 ("kbuild: add support for Clang LTO")
Signed-off-by: Alexander Lobakin <alobakin@pm.me>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20210121184544.659998-1-alobakin@pm.me
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -895,10 +895,10 @@ endif ifdef CONFIG_LTO_CLANG ifdef CONFIG_LTO_CLANG_THIN -CC_FLAGS_LTO += -flto=thin -fsplit-lto-unit +CC_FLAGS_LTO := -flto=thin -fsplit-lto-unit KBUILD_LDFLAGS += --thinlto-cache-dir=$(extmod-prefix).thinlto-cache else -CC_FLAGS_LTO += -flto +CC_FLAGS_LTO := -flto endif CC_FLAGS_LTO += -fvisibility=hidden |