• Masahiro Yamada's avatar
    kbuild: remove kbuild cache · e08d6de4
    Masahiro Yamada authored
    The kbuild cache was introduced to remember the result of shell
    commands, some of which are expensive to compute, such as
    $(call cc-option,...).
    
    However, this turned out not so clever as I had first expected.
    Actually, it is problematic.  For example, "$(CC) -print-file-name"
    is cached.  If the compiler is updated, the stale search path causes
    build error, which is difficult to figure out.  Another problem
    scenario is cache files could be touched while install targets are
    running under the root permission.  We can patch them if desired,
    but the build infrastructure is getting uglier and uglier.
    
    Now, we are going to move compiler flag tests to the configuration
    phase.  If this is completed, the result of compiler tests will be
    naturally cached in the .config file.  We will not have performance
    issues of incremental building since this testing only happens at
    Kconfig time.
    
    To start this work with a cleaner code base, remove the kbuild
    cache first.
    
    Revert the following commits:
    Commit 9a234a2e ("kbuild: create directory for make cache only when necessary")
    Commit e17c400a ("kbuild: shrink .cache.mk when it exceeds 1000 lines")
    Commit 4e562071 ("kbuild: Cache a few more calls to the compiler")
    Commit 3298b690 ("kbuild: Add a cache for generated variables")
    Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
    Reviewed-by: default avatarKees Cook <keescook@chromium.org>
    e08d6de4
Name
Last commit
Last update
Documentation Loading commit data...
LICENSES Loading commit data...
arch Loading commit data...
block Loading commit data...
certs Loading commit data...
crypto Loading commit data...
drivers Loading commit data...
firmware Loading commit data...
fs Loading commit data...
include Loading commit data...
init Loading commit data...
ipc Loading commit data...
kernel Loading commit data...
lib Loading commit data...
mm Loading commit data...
net Loading commit data...
samples Loading commit data...
scripts Loading commit data...
security Loading commit data...
sound Loading commit data...
tools Loading commit data...
usr Loading commit data...
virt Loading commit data...
.clang-format Loading commit data...
.cocciconfig Loading commit data...
.get_maintainer.ignore Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
Kbuild Loading commit data...
Kconfig Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README Loading commit data...