lkml.org 
[lkml]   [2012]   [Apr]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3/6] perf, tool: Add support for displaying event parser debug info
    Date
    Adding PARSER_DEBUG Makefile variable to enable building event
    scanner/parser with debug enabled. This results in verbose
    output right out of the scanner/parser.

    It's usefull for debuging the event parser. Keeping this only
    for event parser so far.

    Signed-off-by: Jiri Olsa <jolsa@redhat.com>
    ---
    tools/perf/Makefile | 12 +++++++++---
    tools/perf/util/parse-events.c | 6 ++++++
    2 files changed, 15 insertions(+), 3 deletions(-)

    diff --git a/tools/perf/Makefile b/tools/perf/Makefile
    index eecee37..3268a97 100644
    --- a/tools/perf/Makefile
    +++ b/tools/perf/Makefile
    @@ -83,7 +83,13 @@ ifndef PERF_DEBUG
    CFLAGS_OPTIMIZE = -O6
    endif

    -CFLAGS = -fno-omit-frame-pointer -ggdb3 -Wall -Wextra -std=gnu99 $(CFLAGS_WERROR) $(CFLAGS_OPTIMIZE) -D_FORTIFY_SOURCE=2 $(EXTRA_WARNINGS) $(EXTRA_CFLAGS)
    +ifdef PARSER_DEBUG
    + PARSER_DEBUG_BISON := -t
    + PARSER_DEBUG_FLEX := -d
    + PARSER_DEBUG_CFLAGS := -DPARSER_DEBUG
    +endif
    +
    +CFLAGS = -fno-omit-frame-pointer -ggdb3 -Wall -Wextra -std=gnu99 $(CFLAGS_WERROR) $(CFLAGS_OPTIMIZE) -D_FORTIFY_SOURCE=2 $(EXTRA_WARNINGS) $(EXTRA_CFLAGS) $(PARSER_DEBUG_CFLAGS)
    EXTLIBS = -lpthread -lrt -lelf -lm
    ALL_CFLAGS = $(CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
    ALL_LDFLAGS = $(LDFLAGS)
    @@ -205,10 +211,10 @@ FLEX = flex
    BISON= bison

    $(OUTPUT)util/parse-events-flex.c: util/parse-events.l
    - $(QUIET_FLEX)$(FLEX) --header-file=$(OUTPUT)util/parse-events-flex.h -t util/parse-events.l > $(OUTPUT)util/parse-events-flex.c
    + $(QUIET_FLEX)$(FLEX) --header-file=$(OUTPUT)util/parse-events-flex.h $(PARSER_DEBUG_FLEX) -t util/parse-events.l > $(OUTPUT)util/parse-events-flex.c

    $(OUTPUT)util/parse-events-bison.c: util/parse-events.y
    - $(QUIET_BISON)$(BISON) -v util/parse-events.y -d -o $(OUTPUT)util/parse-events-bison.c
    + $(QUIET_BISON)$(BISON) -v util/parse-events.y -d $(PARSER_DEBUG_BISON) -o $(OUTPUT)util/parse-events-bison.c

    $(OUTPUT)util/pmu-flex.c: util/pmu.l
    $(QUIET_FLEX)$(FLEX) --header-file=$(OUTPUT)util/pmu-flex.h -t util/pmu.l > $(OUTPUT)util/pmu-flex.c
    diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
    index c7fc18a..6704978 100644
    --- a/tools/perf/util/parse-events.c
    +++ b/tools/perf/util/parse-events.c
    @@ -23,6 +23,9 @@ struct event_symbol {
    const char *alias;
    };

    +#ifdef PARSER_DEBUG
    +extern int parse_events_debug;
    +#endif
    int parse_events_parse(struct list_head *list, struct list_head *list_tmp,
    int *idx);

    @@ -768,6 +771,9 @@ int parse_events(struct perf_evlist *evlist, const char *str, int unset __used)

    buffer = parse_events__scan_string(str);

    +#ifdef PARSER_DEBUG
    + parse_events_debug = 1;
    +#endif
    ret = parse_events_parse(&list, &list_tmp, &idx);

    parse_events__flush_buffer(buffer);
    --
    1.7.7.6


    \
     
     \ /
      Last update: 2012-04-25 18:29    [W:3.312 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site