lkml.org 
[lkml]   [2016]   [May]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v3 3/7 UPDATE] perf tools: Add option for the path of buildid dsos under symfs
From
Date


在 2016/5/14 22:43, David Ahern 写道:
> On 5/14/16 2:19 AM, He Kuang wrote:
>> In the cross-platform perf record/script scenario, we need vdsos in
>> buildid-cache dir and other libs in symfs dir at the same time. For
>> the reason that to have every single file opened by perf is relative
>> to symfs dirctory, perf skips the buildid dir if symfs is given.
>>
>> This patch references the buildid dir under symfs if '--symfs' is
>> used, and adds new option '--dso-prefix' to specify the subdir path in
>> symfs which contains the buildid dsos.
>
> In the previous version of this patch you just wanted to drop the
> symfs check. That means there is a path that perf searches for buildid
> files and reading it worked for you. Why is adding symsfs to that path
> not enough? ie., Why do you need to specify a different location under
> the symfs?
>
In previous patch, I use 'perf buildid-cache -a' to add vdso
binary into the HOST buildid dir.

Currently, $(BUILDID_ROOT)/.debug/.buildid has a directory
structure organized by the buildid value, like this:

.build-id
- 3a
| e5ba6d4e532ad529e43ccf1ce1ddf8a64a4fdd
- 84
dbd75729adba57cc42f5544b25de571c0c8731

perf searchs for buildid binaries by the buildid value.

And symfs is a normal file tree and perf searchs for binaryies
by the file name.

lib
- libc.so
- ld.so

Tt's inappropriate to add symfs to .build-id dir becuase they
have different dirctory structure and perf searchs for them by
differnt ways.

So in this patch I add .buildid to symfs and got dirctory tree
like this:

symfs
- $(DSO_PREFIX)
- .build-id
- 3a
- 84
- libc.so
- ld.so

Thanks

\
 
 \ /
  Last update: 2016-05-16 03:41    [W:0.236 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site