Messages in this thread | | | Date | Wed, 18 Feb 2015 14:27:42 +0000 | Subject | perf kernel module symbols | From | Martin Sherburn <> |
| |
Hello,
I’m having some trouble getting perf to load symbols for my kernel module. If I do a system wide capture for example with “perf record -g fp -a sleep 15” followed by “perf report | head” it tells me the following:
No kallsyms or vmlinux with build-id 3b4704f9bcec1645cd1041286dd5125af061ca95 was found [mymodule] with build id 3b4704f9bcec1645cd1041286dd5125af061ca95 not found, continuing without symbols
The module does show up in the list when I do “perf buildid-list”, however it is not present in “~/.debug/.build-id”. I tried to manually add it with “perf buildid-cache -a /lib/modules/`uname -r`/extra/mymodule”. However then when I do “perf report” I get a Segmentation fault.
I did manage to partly work-around the issue by typing “perf report –symfs=/”. I still get the error “build id not found, continuing without symbols” but the symbols do get resolved correctly as I can see function names rather than just hex addresses in the report. But I still cannot annotate functions, I get the following error:
objdump: '[mymodule]': No such file
If I statically link my driver into the kernel instead of using modules then everything works fine, however I’d rather not do this. I am using perf version 3.10.40-ltsi. Any help regarding this issue would be greatly appreciated.
Regards,
Martin.
| |