Re: [PATCH v2 7/8] kbuild: use obj-y instead extra-y for objects placed at the head

From: Geert Uytterhoeven
Date: Mon Sep 19 2022 - 08:29:08 EST


Hi Yamada-san,

On Mon, Sep 19, 2022 at 2:18 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
> On Mon, Sep 19, 2022 at 5:10 PM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> > On Tue, Sep 6, 2022 at 8:15 AM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
> > > The objects placed at the head of vmlinux need special treatments:
> > >
> > > - arch/$(SRCARCH)/Makefile adds them to head-y in order to place
> > > them before other archives in the linker command line.
> > >
> > > - arch/$(SRCARCH)/kernel/Makefile adds them to extra-y instead of
> > > obj-y to avoid them going into built-in.a.
> > >
> > > This commit gets rid of the latter.
> > >
> > > Create vmlinux.a to collect all the objects that are unconditionally
> > > linked to vmlinux. The objects listed in head-y are moved to the head
> > > of vmlinux.a by using 'ar m'.
> > >
> > > With this, arch/$(SRCARCH)/kernel/Makefile can consistently use obj-y
> > > for builtin objects.
> > >
> > > There is no *.o that is directly linked to vmlinux. Drop unneeded code
> > > in scripts/clang-tools/gen_compile_commands.py.
> > >
> > > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
>
> Thanks for the report.
>
> I will squash the following:
>
>
>
> diff --git a/arch/m68k/kernel/Makefile b/arch/m68k/kernel/Makefile
> index 1755e6cd309f..af015447dfb4 100644
> --- a/arch/m68k/kernel/Makefile
> +++ b/arch/m68k/kernel/Makefile
> @@ -16,7 +16,7 @@ obj-$(CONFIG_SUN3X) := head.o
> obj-$(CONFIG_VIRT) := head.o
> obj-$(CONFIG_SUN3) := sun3-head.o
>
> -obj-y := entry.o irq.o module.o process.o ptrace.o
> +obj-y += entry.o irq.o module.o process.o ptrace.o
> obj-y += setup.o signal.o sys_m68k.o syscalltable.o time.o traps.o
>
> obj-$(CONFIG_MMU_MOTOROLA) += ints.o vectors.o

Thank you, that fixed the build.

Reviewed-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds