Re: Question: perf dso support for /proc/kallsyms

From: leo . yan
Date: Fri Nov 02 2018 - 10:02:14 EST


Hi Mike,

On Fri, Nov 02, 2018 at 01:08:40PM +0000, Mike Leach wrote:
> Hi Leo,
>
> My understanding is that when we decode CoreSight trace - be it on the
> system that generated it, or off target device on a separate host
> system, we are using the dso files in .debug/ as these represent the
> memory layout at the time trace was recorded.
>
> If I look into a recent session copied up to my linux box from DB410,
> is see ~/.debug/\[kernel.kallsyms\]/ee80c1f3a434469f6174e1cf4bb5583d83a013dc/kallsyms
> - which seems to me to be the relevant symbol file to use rather than
> the live one generated by /proc/kallsyms. I don't really want to use
> the local /proc/kallsyms on my x86 linux box when decoding an ARM
> trace captured elsewhere.
>
> So perhaps the problem to be solved is not how to use /proc/kallsyms
> if no vmlinux is supplied to the script, but ensure that the
> [kernel.kallsyms] is used?

Yes, this is good point, the subject should be changed to:
"Question: perf dso support for kallsyms".

I think I made a mistake in my previous email, so clarify it:

~/.debug/\[kernel.kallsyms\]/$BUILDID/kallsyms should has higher
priority than /proc/kallsyms, by default the perf tool should use
kallsyms file under ~/.debug folder. I also tried to manually specify
the kallsyms file with the command "perf script --kallsyms ./kallsyms",
for both cases perf fails to parse symbols for any kernel address.

Thanks,
Leo Yan