From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756559Ab2DEWsb (ORCPT ); Thu, 5 Apr 2012 18:48:31 -0400 Received: from mail-pb0-f46.google.com ([209.85.160.46]:48332 "EHLO mail-pb0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756391Ab2DEWs3 (ORCPT ); Thu, 5 Apr 2012 18:48:29 -0400 From: Frederic Weisbecker To: LKML Cc: Tom Zanussi , Steven Rostedt , Ingo Molnar , Thomas Gleixner , Peter Zijlstra , Arnaldo Carvalho de Melo , Borislav Petkov , Jiri Olsa , Arun Sharma , Namhyung Kim , Frederic Weisbecker Subject: [PATCH 07/15] perf/events: Add flag/symbol format_flags Date: Fri, 6 Apr 2012 00:47:58 +0200 Message-Id: <1333666086-6517-8-git-send-email-fweisbec@gmail.com> X-Mailer: git-send-email 1.7.5.4 In-Reply-To: <1333666086-6517-1-git-send-email-fweisbec@gmail.com> References: <1333666086-6517-1-git-send-email-fweisbec@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Tom Zanussi This is a port of commit eb9a42caa7a92 perf trace: Add flag/symbolic format_flags of the old trace-event-parse.c to the new event-parse.c that was written by Tom Zanussi and forward ported by Steven Rostedt. Signed-off-by: Tom Zanussi Signed-off-by: Steven Rostedt Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Borislav Petkov Cc: Jiri Olsa Cc: Arun Sharma Cc: Namhyung Kim Signed-off-by: Frederic Weisbecker --- tools/lib/traceevent/event-parse.c | 15 +++++++++++++++ 1 files changed, 15 insertions(+), 0 deletions(-) diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c index c799c19..f012395 100644 --- a/tools/lib/traceevent/event-parse.c +++ b/tools/lib/traceevent/event-parse.c @@ -39,6 +39,9 @@ static const char *input_buf; static unsigned long long input_buf_ptr; static unsigned long long input_buf_siz; +static int is_flag_field; +static int is_symbolic_field; + static int show_warning = 1; #define do_warning(fmt, ...) \ @@ -1789,6 +1792,16 @@ process_entry(struct event_format *event __unused, struct print_arg *arg, arg->type = PRINT_FIELD; arg->field.name = field; + if (is_flag_field) { + arg->field.field = pevent_find_any_field(event, arg->field.name); + arg->field.field->flags |= FIELD_IS_FLAG; + is_flag_field = 0; + } else if (is_symbolic_field) { + arg->field.field = pevent_find_any_field(event, arg->field.name); + arg->field.field->flags |= FIELD_IS_SYMBOLIC; + is_symbolic_field = 0; + } + type = read_token(&token); *tok = token; @@ -2398,10 +2411,12 @@ process_function(struct event_format *event, struct print_arg *arg, if (strcmp(token, "__print_flags") == 0) { free_token(token); + is_flag_field = 1; return process_flags(event, arg, tok); } if (strcmp(token, "__print_symbolic") == 0) { free_token(token); + is_symbolic_field = 1; return process_symbols(event, arg, tok); } if (strcmp(token, "__get_str") == 0) { -- 1.7.5.4