Re: linux-next: manual merge of the tip tree with the kbuild tree

Masahiro Yamada
2022-05-27T12:38:22Z

On Fri, May 27, 2022 at 3:04 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> On Fri, May 27, 2022 at 1:47 PM Josh Poimboeuf <jpoimboe@kernel.org> 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@kernel.org/
>
>
>
>
> 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@kernel.org/

--
Best Regards
Masahiro Yamada