diff options
author | Jan Kiszka <jan.kiszka@siemens.com> | 2015-07-31 16:04:54 +0200 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2015-09-17 14:10:20 -0400 |
commit | ce1cbc51c83d2235aca67f570ab34e547d94560b (patch) | |
tree | 6df3f5614688859903e3dde0b118eda74ac78aa4 | |
parent | 4c87d638c69eb258cd7ce2d87a86af0c2b6a8122 (diff) | |
download | trace-cmd-ce1cbc51c83d2235aca67f570ab34e547d94560b.tar.gz |
trace-cmd: Leave out absolute addresses to fix bogus symbol resolutions
On x86, page_fault_* tracepoints report userspace address via kernel
symbols because all the per-cpu variable offsets are in kallsyms,
occupying the lower address space. Fix this by skipping over absolute
addresses while processing kallsyms.
Link: http://lkml.kernel.org/r/55BB8086.9080602@siemens.com
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | trace-util.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/trace-util.c b/trace-util.c index 8a81dd0e..da20e4ca 100644 --- a/trace-util.c +++ b/trace-util.c @@ -434,8 +434,12 @@ void parse_proc_kallsyms(struct pevent *pevent, if (mod) mod[strlen(mod) - 1] = 0; - /* Hack for arm arch that adds a lot of bogus '$a' functions */ - if (func[0] != '$') + /* + * Hacks for + * - arm arch that adds a lot of bogus '$a' functions + * - x86-64 that reports per-cpu variable offsets as absolute + */ + if (func[0] != '$' && ch != 'A') pevent_register_function(pevent, func, addr, mod); free(func); free(mod); |