Em Thu, Aug 04, 2016 at 09:48:57AM -0300, Arnaldo Carvalho de Melo escreveu: > Em Thu, Aug 04, 2016 at 03:32:21PM +0900, Masami Hiramatsu escreveu: > > FYI, if perf-probe failed to find the symbol in debuginfo, it tries to find > > its address > > from symbol table(kallsyms, here), and then tries to convert the address to > > the symbol > > in debuginfo again. It seems that in your case this convert process is > > failed. > Yeah, that is what is failing for me.
[root@jouet ~]# grep ffffffffbd295b50 /proc/kallsyms ffffffffbd295b50 T SyS_epoll_wait ffffffffbd295b50 T sys_epoll_wait [root@jouet ~]# Adding some printfs in debuginfo__find_probe_point() Using /lib/modules/4.7.0+/build/vmlinux for symbols Open Debuginfo file: /lib/modules/4.7.0+/build/vmlinux Try to find probe point from debuginfo. Symbol sys_epoll_wait address found : ffffffffbd295b50 dwarf_addrdie(ffffffffbd295b50) dwarf_addrdie(ffffffffbd295b50) Failed to find debug information for address ffffffffbd295b50 Probe point 'sys_epoll_wait' not found. Error: Failed to add events. Reason: No such file or directory (Code: -2) [root@jouet ~]# grep ffffffffbd295b50 /proc/kallsyms ffffffffbd295b50 T SyS_epoll_wait ffffffffbd295b50 T sys_epoll_wait [root@jouet ~]# So: int err = debuginfo__get_text_offset(dbg, &baseaddr); is returning 0, no relocation, its dwarf_addrdie() that is not finding SyS_epoll_wait from its address. Trying to figure out why dwarf_addrdie(0xffffffffbd295b50) fails... - Arnaldo > > Then, could you grep DEBUG_INFO in .config? I guess your kernel enables some > > reduced debuginfo related config enabled... > If that is the case, then we better add a proper warning because this is > very subtle :-) > Checking... > [acme@jouet linux]$ grep ^CONFIG_DEBUG_ ../build/v4.7.0+/.config | grep > 'INFO\|REDUCED' > CONFIG_DEBUG_INFO=y > [acme@jouet linux]$ > > Nope. > > - Arnaldo