mirror of
https://github.com/torvalds/linux.git
synced 2024-11-12 07:01:57 +00:00
perf tools: Adjust symbols in VDSO
pert-report doesn't resolve function names in VDSO: $ perf report --stdio -g flat,0.0,15,callee --sort pid ... 8.76% 0x7fff6b1fe861 __gettimeofday ACE_OS::gettimeofday() ... In this case symbol values should be adjusted the same way as for executables, relocatable objects and prelinked libraries. After fix: $ perf report --stdio -g flat,0.0,15,callee --sort pid ... 8.76% __vdso_gettimeofday __gettimeofday ACE_OS::gettimeofday() Signed-off-by: Vladimir Nikulichev <nvs@tbricks.com> Tested-by: Namhyung Kim <namhyung@kernel.org> Reviewed-by: Adrian Hunter <adrian.hunter@intel.com> Link: http://lkml.kernel.org/r/969812.163009436-sendEmail@nvs Signed-off-by: Jiri Olsa <jolsa@redhat.com>
This commit is contained in:
parent
acb61fc8ed
commit
922d0e4d9f
@ -6,6 +6,7 @@
|
||||
#include <inttypes.h>
|
||||
|
||||
#include "symbol.h"
|
||||
#include "vdso.h"
|
||||
#include <symbol/kallsyms.h>
|
||||
#include "debug.h"
|
||||
|
||||
@ -618,6 +619,7 @@ int symsrc__init(struct symsrc *ss, struct dso *dso, const char *name,
|
||||
GElf_Shdr shdr;
|
||||
ss->adjust_symbols = (ehdr.e_type == ET_EXEC ||
|
||||
ehdr.e_type == ET_REL ||
|
||||
is_vdso_map(dso->short_name) ||
|
||||
elf_section_by_name(elf, &ehdr, &shdr,
|
||||
".gnu.prelink_undo",
|
||||
NULL) != NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user