The introduction of Clang LTO, the kbuild code became much uglier due to CONFIG_LTO_CLANG conditionals. It is painful to maintain the messed-up code, and to review code changed on top of that. Masahiro Yamada (13): kbuild: move objtool_args back to scripts/Makefile.build gen_compile_commands: extract compiler command from a series of commands kbuild: detect objtool changes correctly and remove .SECONDEXPANSION kbuild: remove unused quiet_cmd_update_lto_symversions kbuild: remove stale *.symversions kbuild: merge vmlinux_link() between the ordinary link and Clang LTO kbuild: do not remove 'linux' link in scripts/link-vmlinux.sh kbuild: merge vmlinux_link() between ARCH=um and other architectures kbuild: do not create built-in.a.symversions or lib.a.symversions kbuild: build modules in the same way with/without Clang LTO kbuild: always postpone CRC links for module versioning kbuild: merge cmd_modversions_c and cmd_modversions_S kbuild: merge cmd_ar_builtin and cmd_ar_module scripts/Makefile.build | 196 ++++++++------------ scripts/Makefile.lib | 28 +-- scripts/Makefile.modfinal | 4 +- scripts/Makefile.modpost | 7 +- scripts/clang-tools/gen_compile_commands.py | 2 +- scripts/link-vmlinux.sh | 125 +++++++------ scripts/mod/modpost.c | 6 +- scripts/mod/sumversion.c | 6 +- 8 files changed, 164 insertions(+), 210 deletions(-) -- 2.30.2