kbuild: fix mismatch between .version and include/generated/compile.h
authorMasahiro Yamada <masahiroy@kernel.org>
Mon, 10 Feb 2020 20:06:34 +0000 (05:06 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Mon, 10 Feb 2020 20:18:40 +0000 (05:18 +0900)
Since commit 56d589361572 ("kbuild: do not create orphan built-in.a or
obj-y objects"), scripts/link-vmlinux.sh does nothing when descending
into init/.

Once the version number becomes out of sync between .version and
include/generated/compile.h, it is not self-healing.

[How to reproduce]

 $ echo 100 > .version
 $ make

You will see the number in the .version is always bigger than that in
compile.h by one. After this, every time you run 'make', the vmlinux is
re-linked even when none of source files is updated.

Fixes: 56d589361572 ("kbuild: do not create orphan built-in.a or obj-y objects")
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
scripts/link-vmlinux.sh

index 1919c31..dd484e9 100755 (executable)
@@ -239,7 +239,7 @@ else
 fi;
 
 # final build of init/
-${MAKE} -f "${srctree}/scripts/Makefile.build" obj=init
+${MAKE} -f "${srctree}/scripts/Makefile.build" obj=init need-builtin=1
 
 #link vmlinux.o
 info LD vmlinux.o