Re: [PATCH v3 2/3] kbuild: remove PROVIDE() for kallsyms symbols

Nicolas Schier
2024-06-13T03:57:06Z

On Mon, Jun 10, 2024 at 08:25:17PM +0900, Masahiro Yamada wrote:
> This reimplements commit 951bcae6c5a0 ("kallsyms: Avoid weak references
> for kallsyms symbols") because I am not a big fan of PROVIDE().
>
> As an alternative solution, this commit prepends one more kallsyms step.
>
> KSYMS .tmp_vmlinux.kallsyms0.S # added
> AS .tmp_vmlinux.kallsyms0.o # added
> LD .tmp_vmlinux.btf
> BTF .btf.vmlinux.bin.o
> LD .tmp_vmlinux.kallsyms1
> NM .tmp_vmlinux.kallsyms1.syms
> KSYMS .tmp_vmlinux.kallsyms1.S
> AS .tmp_vmlinux.kallsyms1.o
> LD .tmp_vmlinux.kallsyms2
> NM .tmp_vmlinux.kallsyms2.syms
> KSYMS .tmp_vmlinux.kallsyms2.S
> AS .tmp_vmlinux.kallsyms2.o
> LD vmlinux
>
> Step 0 takes /dev/null as input, and generates .tmp_vmlinux.kallsyms0.o,
> which has a valid kallsyms format with the empty symbol list, and can be
> linked to vmlinux. Since it is really small, the added compile-time cost
> is negligible.
>
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> Acked-by: Ard Biesheuvel <ardb@kernel.org>
> ---

Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>