kbuild: reuse $(cmd_objtool) for cmd_cc_lto_link_modules
authorMasahiro Yamada <masahiroy@kernel.org>
Tue, 31 Aug 2021 07:39:57 +0000 (16:39 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Wed, 22 Sep 2021 00:26:25 +0000 (09:26 +0900)
commit90a353491e9f95516fcfd33ae7331d638557416c
tree0daf58895230472c7e292c1d0da22e6316d699f4
parentef62588c2c8611c196b780561610921b7b864bb2
kbuild: reuse $(cmd_objtool) for cmd_cc_lto_link_modules

For CONFIG_LTO_CLANG=y, the objtool processing is not possible at the
compilation, hence postponed by the link time.

Reuse $(cmd_objtool) for CONFIG_LTO_CLANG=y by defining objtool-enabled
properly.

For CONFIG_LTO_CLANG=y:

  objtool-enabled is off for %.o compilation
  objtool-enabled is on  for %.lto link

For CONFIG_LTO_CLANG=n:

  objtool-enabled is on for %.o compilation
      (but, it depends on OBJECT_FILE_NON_STANDARD)

Set part-of-module := y for %.lto.o to avoid repeating --module.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
scripts/Makefile.build