On Tue, Sep 6, 2022 at 3:13 PM 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> > --- > > (no changes since v1) > > @@ -198,12 +198,12 @@ KCOV_INSTRUMENT_paca.o := n > CFLAGS_setup_64.o += -fno-stack-protector > CFLAGS_paca.o += -fno-stack-protector > > -extra-$(CONFIG_PPC_FPU) += fpu.o > -extra-$(CONFIG_ALTIVEC) += vector.o > -extra-$(CONFIG_PPC64) += entry_64.o > -extra-$(CONFIG_PPC_OF_BOOT_TRAMPOLINE) += prom_init.o > +obj-$(CONFIG_PPC_FPU) += fpu.o > +obj-$(CONFIG_ALTIVEC) += vector.o > +obj-$(CONFIG_PPC64) += entry_64.o > +obj-$(CONFIG_PPC_OF_BOOT_TRAMPOLINE) += prom_init.o > > -extra-$(CONFIG_PPC_OF_BOOT_TRAMPOLINE) += prom_init_check > +obj-$(CONFIG_PPC_OF_BOOT_TRAMPOLINE) += prom_init_check This line should not be changed. I fixed it up locally. https://lore.kernel.org/lkml/CAK7LNARzFmJjpyUciy1LRvaFo72aZcqRbzY-63ArpeszC+HfmQ@xxxxxxxxxxxxxx/ -- Best Regards Masahiro Yamada