On Fri, May 27, 2022 at 3:04 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote: > > On Fri, May 27, 2022 at 1:47 PM Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote: > > > > On Fri, May 27, 2022 at 11:19:02AM +0900, Masahiro Yamada wrote: > > > [1] original behavior in Josh's commit > > > > > > $ git checkout 753da4179d08b625d8df72e97724e22749969fd3 > > > $ make defconfig > > > $ make -j8 kernel/ > > > $ head -n 1 kernel/.fork.o.cmd > > > > > > > > > I do not see the "--linked" parameter in the objtool command. > > > > > > > > > > > > > > > [2] behavior in linux-next > > > > > > > > > $ git checkout next-20220523 > > > $ make defconfig > > > $ make -j8 kernel/ > > > $ head -n 1 kernel/.fork.o.cmd > > > > > > I see the "--linked" parameter in the objtool command. > > > > > > kernel/fork.o is a direct output from GCC, > > > not from linker. > > > > Yes, good catch. That flag should only be used for linked objects like > > vmlinux.o or some_module.o. > > > > Objtool only runs on such objects when CONFIG_LTO_CLANG, > > CONFIG_X86_KERNEL_IBT, or CONFIG_NOINSTR_VALIDATION (vmlinux.o-only) is > > enabled. > > > > -- > > Josh > > > When CONFIG_LTO_CLANG=y or CONFIG_X86_KERNEL_IBT=y > is "--linked" necessary for single-object modules? > > > "single-object module" means a module that consists of only one object. > > See this figure: > https://patchwork.kernel.org/project/linux-kbuild/patch/20220513113930.10488-6-masahiroy@xxxxxxxxxx/ > > > > > In your commit, --linked is passed to all *.prelink.o > whether it consists of a single object or links > multiple objects. Anyway, please let me clean up this part in the kbuild tree: https://patchwork.kernel.org/project/linux-kbuild/patch/20220527100155.1996314-2-masahiroy@xxxxxxxxxx/ -- Best Regards Masahiro Yamada