On Thu, Aug 15, 2019 at 10:21:29PM -0700, Andrii Nakryiko wrote: > 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} Good cleanup on the "optional .o files" reordering! With your ordering change, I think the ""s around ${kallsymso_prev} here are no longer needed (which makes it read a bit more nicely). > > + 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}" And, I think, also not here for either trailing argument. > > > > if [ -n "${CONFIG_BUILDTIME_EXTABLE_SORT}" ]; then > > info SORTEX vmlinux -Kees -- Kees Cook