Messages in this thread Patch in this message | | | From | Hitoshi Mitake <> | Subject | [PATCH 01/12] perf tools: Add __data_loc support | Date | Fri, 22 Jan 2010 22:39:02 +0900 |
| |
This patch is required to test the next patch for perf lock.
At 064739bc4b3d7f424b2f25547e6611bcf0132415 , support for the modifier "__data_loc" of format is added.
But, when I wanted to parse format of lock_acquired (or some event else), raw_field_ptr() did not returned correct pointer.
So I modified raw_field_ptr() like this patch. Then raw_field_ptr() works well.
Signed-off-by: Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp> Acked-by: Frederic Weisbecker <fweisbec@gmail.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Paul Mackerras <paulus@samba.org> Cc: Tom Zanussi <tzanussi@gmail.com> Cc: Steven Rostedt <srostedt@redhat.com> --- tools/perf/util/trace-event-parse.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/tools/perf/util/trace-event-parse.c b/tools/perf/util/trace-event-parse.c index c5c32be..13aea80 100644 --- a/tools/perf/util/trace-event-parse.c +++ b/tools/perf/util/trace-event-parse.c @@ -1925,6 +1925,13 @@ void *raw_field_ptr(struct event *event, const char *name, void *data) if (!field) return NULL; + if (field->flags & FIELD_IS_STRING) { + int offset; + offset = *(int *)(data + field->offset); + offset &= 0xffff; + return data + offset; + } + return data + field->offset; } -- 1.6.5.2
| |