[lkml]   [2016]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[tip:perf/core] perf probe: Fix to show correct error message for $vars and $params
Commit-ID:  f6eb0518f325ef0d6557fbef5c7ebe48a81e74db
Author: Masami Hiramatsu <>
AuthorDate: Tue, 12 Jul 2016 19:04:34 +0900
Committer: Arnaldo Carvalho de Melo <>
CommitDate: Wed, 13 Jul 2016 23:09:04 -0300

perf probe: Fix to show correct error message for $vars and $params

Fix to show correct error messages for $vars and $params because
those special variables requires debug information to find the
real variables or function parameters.

E.g. without this fix;
# perf probe -x /lib64/ getaddrinfo \$params
Failed to write event: Invalid argument
Please upgrade your kernel to at least 3.14 to have access to feature $params
Error: Failed to add events.

Perf ends up with an error, but the message is not correct. With this
fix, perf shows correct error message as below.

# perf probe -x /lib64/ getaddrinfo \$params
The /usr/lib64/ file has no debug information.
Rebuild with -g, or install an appropriate debuginfo package.
Error: Failed to add events.

Reported-and-Tested-by: Arnaldo Carvalho de Melo <>
Signed-off-by: Masami Hiramatsu <>
Cc: Ananth N Mavinakayanahalli <>
Cc: Brendan Gregg <>
Cc: Hemant Kumar <>
Cc: Namhyung Kim <>
Cc: Peter Zijlstra <>
Signed-off-by: Arnaldo Carvalho de Melo <>
tools/perf/util/probe-event.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
index 2b222a7..fef9768 100644
--- a/tools/perf/util/probe-event.c
+++ b/tools/perf/util/probe-event.c
@@ -1547,7 +1547,9 @@ bool perf_probe_event_need_dwarf(struct perf_probe_event *pev)
return true;

for (i = 0; i < pev->nargs; i++)
- if (is_c_varname(pev->args[i].var))
+ if (is_c_varname(pev->args[i].var) ||
+ !strcmp(pev->args[i].var, "$params") ||
+ !strcmp(pev->args[i].var, "$vars"))
return true;

return false;
 \ /
  Last update: 2016-07-14 09:41    [W:0.126 / U:0.180 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site