Re: [PATCH v3 3/7 UPDATE] perf tools: Add option for the path of buildid dsos under symfs

From: Hekuang
Date: Tue May 17 2016 - 22:53:52 EST




å 2016/5/18 9:51, David Ahern åé:
On 5/17/16 7:47 PM, Hekuang wrote:


å 2016/5/16 10:50, David Ahern åé:
On 5/15/16 7:30 PM, Hekuang wrote:
In previous patch, I use 'perf buildid-cache -a' to add vdso
binary into the HOST buildid dir.

So 'perf buildid-cache' needs the symfs option?


With this patch 'PATCH v3 3/7 UPDATE', the tree of symfs dir is
like this:

âââ debug($(dso-prefix))
â âââ .build-id
â â âââ 3a
â â â âââ e5ba6d4e532ad529e43ccf1ce1ddf8a64a4fdd ->
../../[kernel.kallsyms]/3ae5ba6d4e532ad529e43ccf1ce1ddf8a64a4fdd
â â âââ 84
â â âââ dbd75729adba57cc42f5544b25de571c0c8731 ->
../../[vdso32]/84dbd75729adba57cc42f5544b25de571c0c8731
â âââ [kernel.kallsyms]
â â âââ 3ae5ba6d4e532ad529e43ccf1ce1ddf8a64a4fdd
â âââ [vdso]
â â âââ 84dbd75729adba57cc42f5544b25de571c0c8731
â âââ [vdso32]
â âââ 84dbd75729adba57cc42f5544b25de571c0c8731
âââ lib
â âââ ld-2.22.so
â âââ libc-2.22.so
âââ tmp
â âââ hello
âââ xxx

So all binaries we need are included in the symfs dir. I think
this is consistent with your idea explained in previous mails.

With this symfs, we do not need buildid dir anymore and what's
your idea on 'perf buildid-cache' needs symfs option? after all,
that only effects on buildid dir.

I don't understand why dso-prefix option is needed? Why make me type yet more options to the analysis command? Why can't the directory be located under the symfs tree in a known location and populated the same way it is without symfs?


Because the default buidid folder path is $HOME/.debug/.buildid,
and this $HOME is on the target machine, not the same as $HOME
on the host. Without that option, we need to copy $HOME/.debug/.buildid
to the 'known location in symfs', that's also an extra work.