diff options
| author | Masami Hiramatsu <[email protected]> | 2020-07-10 13:11:13 +0000 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <[email protected]> | 2020-07-17 12:09:37 +0000 |
| commit | 11fd3eb874e73ee8069bcfd54e3c16fa7ce56fe6 (patch) | |
| tree | a47c95c5131d003dd00cc4f4566a13405a73d34e /tools/lib/api/fd/array.h | |
| parent | perf probe: Avoid setting probes on the same address for the same event (diff) | |
| download | kernel-11fd3eb874e73ee8069bcfd54e3c16fa7ce56fe6.tar.gz kernel-11fd3eb874e73ee8069bcfd54e3c16fa7ce56fe6.zip | |
perf probe: Fix wrong variable warning when the probe point is not found
Fix a wrong "variable not found" warning when the probe point is not
found in the debuginfo.
Since the debuginfo__find_probes() can return 0 even if it does not find
given probe point in the debuginfo, fill_empty_trace_arg() can be called
with tf.ntevs == 0 and it can emit a wrong warning. To fix this, reject
ntevs == 0 in fill_empty_trace_arg().
E.g. without this patch;
# perf probe -x /lib64/libc-2.30.so -a "memcpy arg1=%di"
Failed to find the location of the '%di' variable at this address.
Perhaps it has been optimized out.
Use -V with the --range option to show '%di' location range.
Added new events:
probe_libc:memcpy (on memcpy in /usr/lib64/libc-2.30.so with arg1=%di)
probe_libc:memcpy (on memcpy in /usr/lib64/libc-2.30.so with arg1=%di)
You can now use it in all perf tools, such as:
perf record -e probe_libc:memcpy -aR sleep 1
With this;
# perf probe -x /lib64/libc-2.30.so -a "memcpy arg1=%di"
Added new events:
probe_libc:memcpy (on memcpy in /usr/lib64/libc-2.30.so with arg1=%di)
probe_libc:memcpy (on memcpy in /usr/lib64/libc-2.30.so with arg1=%di)
You can now use it in all perf tools, such as:
perf record -e probe_libc:memcpy -aR sleep 1
Fixes: cb4027308570 ("perf probe: Trace a magic number if variable is not found")
Reported-by: Andi Kleen <[email protected]>
Signed-off-by: Masami Hiramatsu <[email protected]>
Reviewed-by: Srikar Dronamraju <[email protected]>
Tested-by: Andi Kleen <[email protected]>
Cc: Oleg Nesterov <[email protected]>
Cc: [email protected]
Link: http://lore.kernel.org/lkml/159438667364.62703.2200642186798763202.stgit@devnote2
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
Diffstat (limited to 'tools/lib/api/fd/array.h')
0 files changed, 0 insertions, 0 deletions
