On Mon, May 03, 2021 at 08:11:50AM +0200, Jiri Slaby wrote: > On 01. 05. 21, 8:45, Jiri Slaby wrote: > > On 30. 04. 21, 19:47, Michal Suchánek wrote: > > > CC another Jiri > > > > > > On Tue, Apr 27, 2021 at 02:12:37PM +0200, Michal Suchánek wrote: > > > > On Mon, Apr 26, 2021 at 09:16:36PM +0200, Jiri Olsa wrote: > > > > > On Mon, Apr 26, 2021 at 06:03:19PM +0200, Jiri Olsa wrote: > > > > > > On Mon, Apr 26, 2021 at 08:41:49AM -0700, Yonghong Song wrote: > > > > > > > > > > > > > > > > > > > > > On 4/26/21 5:14 AM, Michal Suchánek wrote: > > > > > > > > On Mon, Apr 26, 2021 at 02:12:20PM +0200, Michal Suchánek wrote: > > > > > > > > > On Mon, Apr 26, 2021 at 01:32:15PM +0200, Michal Suchánek wrote: > > > > > > > > > > On Sun, Apr 25, 2021 at 01:15:45PM +0200, Michal Suchánek wrote: > > > > > > > > > > > On Fri, Apr 23, 2021 at 07:55:28PM +0200, Michal Suchánek wrote: > > > > > > > > > > > > On Fri, Apr 23, 2021 at 07:41:29AM -0700, Yonghong Song wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 4/23/21 6:05 AM, Michal Suchánek wrote: > > > > > > > > > > > > > > Hello, > > > > > > > > > > > > > > > > > > > > > > > > > > > > I see this build error in linux-next (config attached). > > > > > > > > > > > > > > > > > > > > > > > > > > > > [ 4939s] LD vmlinux > > > > > > > > > > > > > > [ 4959s] BTFIDS vmlinux > > > > > > > > > > > > > > [ 4959s] FAILED unresolved symbol cubictcp_state > > > > > > > > > > > > > > [ 4960s] make[1]: *** > > > > > > > > > > > > > > [/home/abuild/rpmbuild/BUILD/kernel-vanilla-5.12~rc8.next.20210422/linux-5.12-rc8-next-20210422/Makefile:1277: > > > > > > > > > > > > > > > > > > > > > > > > > > > > vmlinux] Error 255 > > > > > > > > > > > > > > [ 4960s] make: *** [../Makefile:222: __sub-make] Error 2 > > > > > > > > > > > > this one was reported by Jesper and was fixed by upgrading pahole > > > > > > that contains the new function generation fixes (v1.19) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Looks like you have > > > > > > > > > > > > > DYNAMIC_FTRACE config option > > > > > > > > > > > > > enabled already. > > > > > > > > > > > > > Could you try a later version of pahole? > > > > > > > > > > > > > > > > > > > > > > > > Is this requireent new? > > > > > > > > > > > > > > > > > > > > > > > > I have pahole 1.20, and master does build without problems. > > > > > > > > > > > > > > > > > > > > > > > > If newer version is needed can a check be added? > > > > > > > > > > > > > > > > > > > > > > With dwarves 1.21 some architectures > > > > > > > > > > > are fixed and some report other > > > > > > > > > > > missing symbol. Definitely an improvenent. > > > > > > > > > > > > > > > > > > > > > > I see some new type support was > > > > > > > > > > > added so it makes sense if that type > > > > > > > > > > > is > > > > > > > > > > > used the new dwarves are needed. > > > > > > > > > > > > > > > > > > > > Ok, here is the current failure with dwarves 1.21 on 5.12: > > > > > > > > > > > > > > > > > > > > [ 2548s] LD vmlinux > > > > > > > > > > [ 2557s] BTFIDS vmlinux > > > > > > > > > > [ 2557s] FAILED unresolved symbol vfs_truncate > > > > > > > > > > [ 2558s] make[1]: *** > > > > > > > > > > [/home/abuild/rpmbuild/BUILD/kernel-kvmsmall-5.12.0/linux-5.12/Makefile:1213: > > > > > > > > > > > > > > > > > > > > vmlinux] Error 255 > > > > > > > > > > > > > > This is PPC64, from attached config: > > > > > > > CONFIG_PPC64=y > > > > > > > I don't have environment to cross-compile for PPC64. > > > > > > > Jiri, could you take a look? Thanks! > > > > > > > > > > > > looks like vfs_truncate did not get into BTF data, > > > > > > I'll try to reproduce > > > > _None_ of the functions are generated by pahole -J from debuginfo on > > ppc64. debuginfo appears to be correct. Neither pahole -J fs/open.o > > works correctly. collect_functions in dwarves seems to be defunct on > > ppc64... "functions" array is bogus (so find_function -- the bsearch -- > > fails). > > It's not that bogus. I forgot an asterisk: > > #0 find_function (btfe=0x100269f80, name=0x10024631c "stream_open") at /usr/src/debug/dwarves-1.21-1.1.ppc64/btf_encoder.c:350 > > (gdb) p (*functions)@84 > > $5 = {{name = 0x7ffff68e0922 ".__se_compat_sys_ftruncate", addr = 75232, size = 72, sh_addr = 65536, generated = false}, { > > name = 0x7ffff68e019e ".__se_compat_sys_open", addr = 80592, size = 216, sh_addr = 65536, generated = false}, { > > name = 0x7ffff68e0076 ".__se_compat_sys_openat", addr = 80816, size = 232, sh_addr = 65536, generated = false}, { > > name = 0x7ffff68e0908 ".__se_compat_sys_truncate", addr = 74304, size = 100, sh_addr = 65536, generated = false}, { > ... > > name = 0x7ffff68e0808 ".stream_open", addr = 65824, size = 72, sh_addr = 65536, generated = false}, { > ... > > name = 0x7ffff68e0751 ".vfs_truncate", addr = 73392, size = 544, sh_addr = 65536, generated = false}} > > The dot makes the difference, of course. The question is why is it there? I > keep looking into it. Only if someone has an immediate idea... Thanks for looking into it. That's probably expected. I vaguely recall there is a mocro for adding a dot to assembly symbols depending on the ABI. Thanks Michal