On Wed, Sep 1, 2021 at 2:32 AM Kees Cook <keescook@xxxxxxxxxxxx> wrote: > > On Tue, Aug 31, 2021 at 04:39:56PM +0900, Masahiro Yamada wrote: > > Redo commit 8852c5524029 ("kbuild: Fix objtool dependency for > > 'OBJECT_FILES_NON_STANDARD_<obj> := n'") to add the objtool > > dependency in a cleaner way. > > > > Using .SECONDEXPANSION ends up with unreadable code due to escaped > > dollars. Also, it is not efficient because the second half of > > Makefile.build is parsed twice every time. > > > > Append the objtool dependency to the *.cmd files at the build time. > > > > This is what fixdep and gen_ksymdeps.sh already do. So, following the > > same pattern seems a natural solution. > > > > This allows us to drop $$(objtool_deps) entirely. > > > > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > > Okay, so IIUC, this means objtool (and args) now ends up in the .cmd > file instead of in the Makefile dep rules? That seems reasonable. Yes. For example, after 'make defconfig all', you can see it at the bottom line of *.cmd files. $ tail -n 5 kernel/.smp.o.cmd kernel/smp.o: $(deps_kernel/smp.o) $(deps_kernel/smp.o): kernel/smp.o: $(wildcard ./tools/objtool/objtool) > Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> > > -- > Kees Cook -- Best Regards Masahiro Yamada