Re: [PATCH v2 3/4] Kbuild: Create intermediate vmlinux build with relocations preserved

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

 



On Thu, 13 Mar 2025 at 10:34, Ard Biesheuvel <ardb@xxxxxxxxxx> wrote:
>
> On Thu, 13 Mar 2025 at 10:21, kernel test robot <lkp@xxxxxxxxx> wrote:
> >
> > Hi Ard,
> >
> > kernel test robot noticed the following build errors:
> >
> > [auto build test ERROR on masahiroy-kbuild/for-next]
> > [also build test ERROR on masahiroy-kbuild/fixes tip/x86/core s390/features linus/master v6.14-rc6 next-20250312]
> > [If your patch is applied to the wrong git tree, kindly drop us a note.
> > And when submitting patch, we suggest to use '--base' as documented in
> > https://git-scm.com/docs/git-format-patch#_base_tree_information]
> >
> > url:    https://github.com/intel-lab-lkp/linux/commits/Ard-Biesheuvel/Kbuild-link-vmlinux-sh-Make-output-file-name-configurable/20250311-190926
> > base:   https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git for-next
> > patch link:    https://lore.kernel.org/r/20250311110616.148682-9-ardb%2Bgit%40google.com
> > patch subject: [PATCH v2 3/4] Kbuild: Create intermediate vmlinux build with relocations preserved
> > config: x86_64-randconfig-076-20250313 (https://download.01.org/0day-ci/archive/20250313/202503131715.Fb6CfjhT-lkp@xxxxxxxxx/config)
> > compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
> > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250313/202503131715.Fb6CfjhT-lkp@xxxxxxxxx/reproduce)
> >
> > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > the same patch/commit), kindly add following tags
> > | Reported-by: kernel test robot <lkp@xxxxxxxxx>
> > | Closes: https://lore.kernel.org/oe-kbuild-all/202503131715.Fb6CfjhT-lkp@xxxxxxxxx/
> >
> > All errors (new ones prefixed by >>):
> >
> > >> gawk: scripts/generate_builtin_ranges.awk:82: fatal: cannot open file `vmlinux.map' for reading: No such file or directory
> >
>
> Hmm it seems I missed some things in link-vmlinux.sh - I will take a look.

We'd need something like the below applied on top - shall I send a v3?

--- a/scripts/link-vmlinux.sh
+++ b/scripts/link-vmlinux.sh
@@ -46,6 +46,7 @@

 # Link of vmlinux
 # ${1} - output file
+# ${2} - map file
 vmlinux_link()
 {
        local output=${1}
@@ -99,7 +100,7 @@ vmlinux_link()
        fi

        if is_enabled CONFIG_VMLINUX_MAP; then
-               ldflags="${ldflags} ${wl}-Map=${output}.map"
+               ldflags="${ldflags} ${wl}-Map=${2}"
        fi

        ${ld} ${ldflags} -o ${output}                                   \
@@ -185,7 +186,7 @@
 {
        rm -f .btf.*
        rm -f System.map
-       rm -f vmlinux
+       rm -f ${VMLINUX}
        rm -f vmlinux.map
 }

@@ -224,7 +225,7 @@
                strip_debug=1
        fi

-       vmlinux_link .tmp_vmlinux1
+       vmlinux_link .tmp_vmlinux1 .tmp_vmlinux1.map
 fi

 if is_enabled CONFIG_DEBUG_INFO_BTF; then
@@ -267,19 +268,19 @@
        sysmap_and_kallsyms .tmp_vmlinux1
        size1=$(${CONFIG_SHELL} "${srctree}/scripts/file-size.sh" ${kallsymso})

-       vmlinux_link .tmp_vmlinux2
+       vmlinux_link .tmp_vmlinux2 .tmp_vmlinux2.map
        sysmap_and_kallsyms .tmp_vmlinux2
        size2=$(${CONFIG_SHELL} "${srctree}/scripts/file-size.sh" ${kallsymso})

        if [ $size1 -ne $size2 ] || [ -n "${KALLSYMS_EXTRA_PASS}" ]; then
-               vmlinux_link .tmp_vmlinux3
+               vmlinux_link .tmp_vmlinux3 .tmp_vmlinux3.map
                sysmap_and_kallsyms .tmp_vmlinux3
        fi
 fi

 strip_debug=

-vmlinux_link "${VMLINUX}"
+vmlinux_link "${VMLINUX}" vmlinux.map

 # fill in BTF IDs
 if is_enabled CONFIG_DEBUG_INFO_BTF; then




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

  Powered by Linux