diff mbox

kbuild: fix compile time regression

Message ID 20170316143124.1513546-1-arnd@arndb.de (mailing list archive)
State New, archived
Headers show

Commit Message

Arnd Bergmann March 16, 2017, 2:31 p.m. UTC
I noticed that a patch I did causes the time for a clean rebuild to
go up significantly, from 13 to 18 seconds on ARM defconfig, and
in the worst case forcing a rebuild of every file each time.

The fix is very simple, using a ':=' assignment instead of '='
to force the cc-disable-warning call to only be evaluated once
instead of every time.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Masahiro Yamada March 16, 2017, 5:41 p.m. UTC | #1
2017-03-16 23:31 GMT+09:00 Arnd Bergmann <arnd@arndb.de>:
> I noticed that a patch I did causes the time for a clean rebuild to
> go up significantly, from 13 to 18 seconds on ARM defconfig, and
> in the worst case forcing a rebuild of every file each time.
>
> The fix is very simple, using a ':=' assignment instead of '='
> to force the cc-disable-warning call to only be evaluated once
> instead of every time.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index 3a964fa3a787..e7d4d20deb4e 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -381,7 +381,7 @@ LDFLAGS_MODULE  =
>  CFLAGS_KERNEL  =
>  AFLAGS_KERNEL  =
>  LDFLAGS_vmlinux =
> -CFLAGS_GCOV    = -fprofile-arcs -ftest-coverage -fno-tree-loop-im $(call cc-disable-warning,maybe-uninitialized,)
> +CFLAGS_GCOV    := -fprofile-arcs -ftest-coverage -fno-tree-loop-im $(call cc-disable-warning,maybe-uninitialized,)
>  CFLAGS_KCOV    := $(call cc-option,-fsanitize-coverage=trace-pc,)
>
>  ifeq ($(COMPILER),clang)
> --


Squashed into the first patch.
diff mbox

Patch

diff --git a/Makefile b/Makefile
index 3a964fa3a787..e7d4d20deb4e 100644
--- a/Makefile
+++ b/Makefile
@@ -381,7 +381,7 @@  LDFLAGS_MODULE  =
 CFLAGS_KERNEL	=
 AFLAGS_KERNEL	=
 LDFLAGS_vmlinux =
-CFLAGS_GCOV	= -fprofile-arcs -ftest-coverage -fno-tree-loop-im $(call cc-disable-warning,maybe-uninitialized,)
+CFLAGS_GCOV	:= -fprofile-arcs -ftest-coverage -fno-tree-loop-im $(call cc-disable-warning,maybe-uninitialized,)
 CFLAGS_KCOV	:= $(call cc-option,-fsanitize-coverage=trace-pc,)
 
 ifeq ($(COMPILER),clang)