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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux