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

From: Andrii Nakryiko
Date: Fri Aug 16 2019 - 01:21:43 EST


On Thu, Aug 15, 2019 at 7:42 PM Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Hi all,
>
> Today's linux-next merge of the net-next tree got a conflict in:
>
> scripts/link-vmlinux.sh
>
> between commit:
>
> e167191e4a8a ("kbuild: Parameterize kallsyms generation and correct reporting")
>
> from the kbuild tree and commits:
>
> 341dfcf8d78e ("btf: expose BTF info through sysfs")
> 7fd785685e22 ("btf: rename /sys/kernel/btf/kernel into /sys/kernel/btf/vmlinux")
>
> from the net-next tree.
>
> I fixed it up (I think - see below) and can carry the fix as necessary.

Thanks, Stephen! Looks good except one minor issue below.

> This is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging. You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
>
> --
> Cheers,
> Stephen Rothwell
>
> diff --cc scripts/link-vmlinux.sh
> index 2438a9faf3f1,c31193340108..000000000000
> --- a/scripts/link-vmlinux.sh
> +++ b/scripts/link-vmlinux.sh
> @@@ -56,11 -56,10 +56,11 @@@ modpost_link(
> }
>
> # Link of vmlinux
> - # ${1} - optional extra .o files
> - # ${2} - output file
> + # ${1} - output file
> + # ${@:2} - optional extra .o files
> vmlinux_link()
> {
> + info LD ${2}

This needs to be ${1}.

> local lds="${objtree}/${KBUILD_LDS}"
> local objects
>
> @@@ -139,18 -149,6 +150,18 @@@ kallsyms(
> ${CC} ${aflags} -c -o ${2} ${afile}
> }
>
> +# Perform one step in kallsyms generation, including temporary linking of
> +# vmlinux.
> +kallsyms_step()
> +{
> + kallsymso_prev=${kallsymso}
> + kallsymso=.tmp_kallsyms${1}.o
> + kallsyms_vmlinux=.tmp_vmlinux${1}
> +
> - vmlinux_link "${kallsymso_prev}" ${kallsyms_vmlinux}
> ++ vmlinux_link ${kallsyms_vmlinux} "${kallsymso_prev}" ${btf_vmlinux_bin_o}
> + kallsyms ${kallsyms_vmlinux} ${kallsymso}
> +}
> +
> # Create map file with all symbols from ${1}
> # See mksymap for additional details
> mksysmap()
> @@@ -228,8 -227,14 +240,15 @@@ ${MAKE} -f "${srctree}/scripts/Makefile
> info MODINFO modules.builtin.modinfo
> ${OBJCOPY} -j .modinfo -O binary vmlinux.o modules.builtin.modinfo
>
> + btf_vmlinux_bin_o=""
> + if [ -n "${CONFIG_DEBUG_INFO_BTF}" ]; then
> + if gen_btf .tmp_vmlinux.btf .btf.vmlinux.bin.o ; then
> + btf_vmlinux_bin_o=.btf.vmlinux.bin.o
> + fi
> + fi
> +
> kallsymso=""
> +kallsymso_prev=""
> kallsyms_vmlinux=""
> if [ -n "${CONFIG_KALLSYMS}" ]; then
>
> @@@ -268,11 -285,8 +287,7 @@@
> fi
> fi
>
> - vmlinux_link "${kallsymso}" vmlinux
> -
> - if [ -n "${CONFIG_DEBUG_INFO_BTF}" ]; then
> - gen_btf vmlinux
> - fi
> -info LD vmlinux
> + vmlinux_link vmlinux "${kallsymso}" "${btf_vmlinux_bin_o}"
>
> if [ -n "${CONFIG_BUILDTIME_EXTABLE_SORT}" ]; then
> info SORTEX vmlinux