author | Linus Torvalds <torvalds@linux-foundation.org> | |
Sat, 18 Nov 2017 01:45:29 +0000 (17:45 -0800) | ||
committer | Linus Torvalds <torvalds@linux-foundation.org> | |
Sat, 18 Nov 2017 01:45:29 +0000 (17:45 -0800) |
Pull Kbuild updates from Masahiro Yamada:
"One of the most remarkable improvements in this cycle is, Kbuild is
now able to cache the result of shell commands. Some variables are
expensive to compute, for example, $(call cc-option,...) invokes the
compiler. It is not efficient to redo this computation every time,
even when we are not actually building anything. Kbuild creates a
hidden file ".cache.mk" that contains invoked shell commands and their
results. The speed-up should be noticeable.
Summary:
- Fix arch build issues (hexagon, sh)
- Clean up various Makefiles and scripts
- Fix wrong usage of {CFLAGS,LDFLAGS}_MODULE in arch Makefiles
- Cache variables that are expensive to compute
- Improve cc-ldopton and ld-option for Clang
- Optimize output directory creation"
* tag 'kbuild-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (30 commits)
kbuild: move coccicheck help from scripts/Makefile.help to top Makefile
sh: decompressor: add shipped files to .gitignore
frv: .gitignore: ignore vmlinux.lds
selinux: remove unnecessary assignment to subdir-
kbuild: specify FORCE in Makefile.headersinst as .PHONY target
kbuild: remove redundant mkdir from ./Kbuild
kbuild: optimize object directory creation for incremental build
kbuild: create object directories simpler and faster
kbuild: filter-out PHONY targets from "targets"
kbuild: remove redundant $(wildcard ...) for cmd_files calculation
kbuild: create directory for make cache only when necessary
sh: select KBUILD_DEFCONFIG depending on ARCH
kbuild: fix linker feature test macros when cross compiling with Clang
kbuild: shrink .cache.mk when it exceeds 1000 lines
kbuild: do not call cc-option before KBUILD_CFLAGS initialization
kbuild: Cache a few more calls to the compiler
kbuild: Add a cache for generated variables
kbuild: add forward declaration of default target to Makefile.asm-generic
kbuild: remove KBUILD_SUBDIR_ASFLAGS and KBUILD_SUBDIR_CCFLAGS
hexagon/kbuild: replace CFLAGS_MODULE with KBUILD_CFLAGS_MODULE
...
"One of the most remarkable improvements in this cycle is, Kbuild is
now able to cache the result of shell commands. Some variables are
expensive to compute, for example, $(call cc-option,...) invokes the
compiler. It is not efficient to redo this computation every time,
even when we are not actually building anything. Kbuild creates a
hidden file ".cache.mk" that contains invoked shell commands and their
results. The speed-up should be noticeable.
Summary:
- Fix arch build issues (hexagon, sh)
- Clean up various Makefiles and scripts
- Fix wrong usage of {CFLAGS,LDFLAGS}_MODULE in arch Makefiles
- Cache variables that are expensive to compute
- Improve cc-ldopton and ld-option for Clang
- Optimize output directory creation"
* tag 'kbuild-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (30 commits)
kbuild: move coccicheck help from scripts/Makefile.help to top Makefile
sh: decompressor: add shipped files to .gitignore
frv: .gitignore: ignore vmlinux.lds
selinux: remove unnecessary assignment to subdir-
kbuild: specify FORCE in Makefile.headersinst as .PHONY target
kbuild: remove redundant mkdir from ./Kbuild
kbuild: optimize object directory creation for incremental build
kbuild: create object directories simpler and faster
kbuild: filter-out PHONY targets from "targets"
kbuild: remove redundant $(wildcard ...) for cmd_files calculation
kbuild: create directory for make cache only when necessary
sh: select KBUILD_DEFCONFIG depending on ARCH
kbuild: fix linker feature test macros when cross compiling with Clang
kbuild: shrink .cache.mk when it exceeds 1000 lines
kbuild: do not call cc-option before KBUILD_CFLAGS initialization
kbuild: Cache a few more calls to the compiler
kbuild: Add a cache for generated variables
kbuild: add forward declaration of default target to Makefile.asm-generic
kbuild: remove KBUILD_SUBDIR_ASFLAGS and KBUILD_SUBDIR_CCFLAGS
hexagon/kbuild: replace CFLAGS_MODULE with KBUILD_CFLAGS_MODULE
...
13 files changed:
1 | 2 | |||
---|---|---|---|---|
Kbuild | patch | | diff1 | | diff2 | | blob | history |
Makefile | patch | | diff1 | | diff2 | | blob | history |
arch/arm/Makefile | patch | | diff1 | | diff2 | | blob | history |
arch/hexagon/Makefile | patch | | diff1 | | diff2 | | blob | history |
arch/x86/entry/vdso/Makefile | patch | | diff1 | | diff2 | | blob | history |
scripts/Makefile.asm-generic | patch | | diff1 | | diff2 | | blob | history |
scripts/Makefile.build | patch | | diff1 | | diff2 | | blob | history |
scripts/Makefile.headersinst | patch | | diff1 | | diff2 | | blob | history |
scripts/Makefile.host | patch | | diff1 | | diff2 | | blob | history |
scripts/Makefile.lib | patch | | diff1 | | diff2 | | blob | history |
scripts/Makefile.modpost | patch | | diff1 | | diff2 | | blob | history |
scripts/link-vmlinux.sh | patch | | diff1 | | diff2 | | blob | history |
scripts/mkcompile_h | patch | | diff1 | | diff2 | | blob | history |
diff --cc Kbuild
Simple merge
diff --cc Makefile
index ccb7d5b2fbf5f904b780ec792ef7c47c5c44a618,06a5798335fcdb75c8211d537f595193a01bbb01..efb942ad0b556c9fc3eb4636f39a351425a8cedc
+++ b/Makefile
# Defaults to vmlinux, but the arch makefile usually adds further targets
all: vmlinux
-CFLAGS_KCOV := $(call cc-option,-fsanitize-coverage=trace-pc,)
+ KBUILD_CFLAGS += $(call cc-option,-fno-PIE)
+ KBUILD_AFLAGS += $(call cc-option,-fno-PIE)
+ CFLAGS_GCOV := -fprofile-arcs -ftest-coverage -fno-tree-loop-im $(call cc-disable-warning,maybe-uninitialized,)
+ export CFLAGS_GCOV CFLAGS_KCOV
+
# The arch Makefile can set ARCH_{CPP,A,C}FLAGS to override the default
# values of the respective KBUILD_* variables
ARCH_CPPFLAGS :=
diff --cc arch/arm/Makefile
Simple merge
diff --cc arch/hexagon/Makefile
Simple merge
diff --cc arch/x86/entry/vdso/Makefile
Simple merge
diff --cc scripts/Makefile.asm-generic
Simple merge
diff --cc scripts/Makefile.build
Simple merge
diff --cc scripts/Makefile.headersinst
Simple merge
diff --cc scripts/Makefile.host
Simple merge
diff --cc scripts/Makefile.lib
Simple merge
diff --cc scripts/Makefile.modpost
Simple merge
diff --cc scripts/link-vmlinux.sh
Simple merge
diff --cc scripts/mkcompile_h
Simple merge