Masami Hiramatsu
8a937a25a7
perf probe: Fix to probe on gcc generated symbols for offline kernel
...
Fix perf-probe to show probe definition on gcc generated symbols for
offline kernel (including cross-arch kernel image).
gcc sometimes optimizes functions and generate new symbols with suffixes
such as ".constprop.N" or ".isra.N" etc. Since those symbol names are
not recorded in DWARF, we have to find correct generated symbols from
offline ELF binary to probe on it (kallsyms doesn't correct it). For
online kernel or uprobes we don't need it because those are rebased on
_text, or a section relative address.
E.g. Without this:
$ perf probe -k build-arm/vmlinux -F __slab_alloc*
__slab_alloc.constprop.9
$ perf probe -k build-arm/vmlinux -D __slab_alloc
p:probe/__slab_alloc __slab_alloc+0
If you put above definition on target machine, it should fail
because there is no __slab_alloc in kallsyms.
With this fix, perf probe shows correct probe definition on
__slab_alloc.constprop.9:
$ perf probe -k build-arm/vmlinux -D __slab_alloc
p:probe/__slab_alloc __slab_alloc.constprop.9+0
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/148350060434.19001.11864836288580083501.stgit@devbox
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2017-01-04 11:44:22 -03:00
..
arch
perf annotate: AArch64 support
2016-12-01 13:03:19 -03:00
bench
perf bench futex: Fix lock-pi help string
2016-12-20 09:37:40 -03:00
Documentation
perf record: Fix --switch-output documentation and comment
2017-01-03 11:11:38 -03:00
jvmti
perf kvmti: Remove unused Makefile file
2016-11-14 12:42:56 -03:00
pmu-events
perf vendor events: Support couple more POWER8 PVRs in mapfile
2016-10-17 13:39:47 -03:00
python
perf python: Add tracepoint example
2016-07-12 16:23:35 -03:00
scripts
perf/core improvements and fixes:
2016-08-04 11:02:38 +02:00
tests
perf thread_map: Add thread_map__remove function
2016-12-15 16:25:45 -03:00
trace
perf trace: Check if MAP_32BIT is defined (again)
2016-12-20 09:37:40 -03:00
ui
perf annotate: Fix jump target outside of function address range
2016-12-15 16:25:46 -03:00
util
perf probe: Fix to probe on gcc generated symbols for offline kernel
2017-01-04 11:44:22 -03:00
.gitignore
perf tools: Add arch/*/include/generated/ to .gitignore
2016-05-30 12:41:46 -03:00
Build
perf c2c: Add c2c command
2016-10-19 13:18:31 -03:00
builtin-annotate.c
perf annotate: Add branch stack / basic block
2016-09-08 13:44:03 -03:00
builtin-bench.c
builtin-buildid-cache.c
tools: Introduce str_error_r()
2016-07-12 15:19:47 -03:00
builtin-buildid-list.c
builtin-c2c.c
perf tools: Remove some needless __maybe_unused
2016-12-15 16:25:45 -03:00
builtin-config.c
perf config: Mark where are config items from (user or system)
2016-11-14 13:10:37 -03:00
builtin-data.c
perf data ctf: Add '--all' option for 'perf data convert'
2016-06-28 10:54:57 -03:00
builtin-diff.c
perf hists: Add support for header span
2016-08-23 15:37:33 -03:00
builtin-evlist.c
perf evlist: Rename for_each() macros to for_each_entry()
2016-06-23 11:26:15 -03:00
builtin-help.c
tools: Introduce str_error_r()
2016-07-12 15:19:47 -03:00
builtin-inject.c
perf symbols: Remove symbol_filter_t machinery
2016-09-05 11:14:50 -03:00
builtin-kmem.c
perf kmem: Add option to specify time window of interest
2016-12-01 13:03:02 -03:00
builtin-kvm.c
perf kvm: Use NSEC_PER_USEC
2016-08-23 15:37:33 -03:00
builtin-list.c
perf list: Support long jevents descriptions
2016-10-03 21:35:47 -03:00
builtin-lock.c
builtin-mem.c
perf mem: Fix --all-user/--all-kernel options
2016-12-15 16:25:45 -03:00
builtin-probe.c
perf probe: Ignore vmlinux Build-id when offline vmlinux given
2016-09-01 12:42:22 -03:00
builtin-record.c
perf record: Fix --switch-output documentation and comment
2017-01-03 11:11:38 -03:00
builtin-report.c
perf tools: Remove some needless __maybe_unused
2016-12-15 16:25:45 -03:00
builtin-sched.c
perf sched timehist: Show total scheduling time
2016-12-27 21:47:57 -03:00
builtin-script.c
perf script: Add option to specify time window of interest
2016-12-01 13:02:45 -03:00
builtin-stat.c
perf tools: Remove some needless __maybe_unused
2016-12-15 16:25:45 -03:00
builtin-timechart.c
perf timechart: Use NSEC_PER_U?SEC
2016-08-23 15:37:33 -03:00
builtin-top.c
perf annotate: Start supporting cross arch annotation
2016-11-17 17:12:50 -03:00
builtin-trace.c
perf trace: Update tid/pid filtering option to leverage symbol_conf
2016-11-25 16:04:22 -03:00
builtin-version.c
builtin.h
perf c2c: Add c2c command
2016-10-19 13:18:31 -03:00
check-headers.sh
perf tools: Move headers check into bash script
2016-12-15 16:25:44 -03:00
command-list.txt
CREDITS
design.txt
Makefile
Makefile.config
perf build: Check LLVM version in feature check
2016-12-06 13:21:55 -03:00
Makefile.perf
perf tools: Install tools/lib/traceevent plugins with install-bin
2017-01-03 16:11:13 -03:00
MANIFEST
tools lib: Add for_each_clear_bit macro
2016-10-24 11:07:33 -03:00
perf-archive.sh
perf-completion.sh
perf-read-vdso.c
perf-sys.h
perf powerpc: Fix build-test failure
2016-09-08 13:44:07 -03:00
perf-with-kcore.sh
perf.c
perf c2c: Add c2c command
2016-10-19 13:18:31 -03:00
perf.h
perf evsel: Allow to ignore missing pid
2016-12-15 16:25:46 -03:00