Messages in this thread | | | Date | Wed, 20 May 2015 15:29:37 +0200 | From | Martin Liška <> | Subject | Re: [PATCH] perf: fix wrong DEBUG configuration |
| |
On 05/20/2015 03:17 PM, Arnaldo Carvalho de Melo wrote: > Em Wed, May 20, 2015 at 03:07:39PM +0200, Martin Liška escreveu: >> On 05/19/2015 04:04 PM, Arnaldo Carvalho de Melo wrote: >>> Em Tue, May 19, 2015 at 03:41:03PM +0200, Martin Liška escreveu: >>>> Following patch is fix for wrong DEBUG configuration. >>> >>> Can you please state, in the changelog, what you think is wrong and how >>> your proposed change fixes it, so that after reading your intent I can >>> go and look at the code to see if it matches that? > > Ok, that improved things, thanks! A question: > >> >> Currently, GCC optimizes -O6 same as -O3 level. Right optimize debugging >> experience is given by passing -Og to compiler. > > Is this is this -Og available in old gcc versions? When was it > introduced? Do you know? > > - Arnaldo
Hi
GCC 4.8.0 is the first version capable of the option: https://gcc.gnu.org/gcc-4.8/changes.html. That can be problematic, which GCC version do you support in linux/perf?
Martin
> >> Assign default value for pointers that are identified by compiler as >> non-initialized. >> >> Signed-off-by: Martin Liska <mliska@suse.cz> > >> >From b5f2b42b279ab497e92d41e1f4021dd5cb6ae3ce Mon Sep 17 00:00:00 2001 >> From: mliska <mliska@suse.cz> >> Date: Thu, 2 Apr 2015 15:24:49 +0200 >> Subject: [PATCH] perf: fix wrong DEBUG configuration >> >> Currently, GCC optimizes -O6 same as -O3 level. Right optimize debugging >> experience is given by passing -Og to compiler. >> Assign default value for pointers that are identified by compiler as >> non-initialized. >> >> Signed-off-by: Martin Liska <mliska@suse.cz> >> --- >> tools/perf/arch/common.c | 2 +- >> tools/perf/config/Makefile | 2 +- >> tools/perf/util/symbol.c | 2 +- >> tools/perf/util/trace-event-parse.c | 2 +- >> 4 files changed, 4 insertions(+), 4 deletions(-) >> >> diff --git a/tools/perf/arch/common.c b/tools/perf/arch/common.c >> index 49776f1..b7bb42c 100644 >> --- a/tools/perf/arch/common.c >> +++ b/tools/perf/arch/common.c >> @@ -61,7 +61,7 @@ const char *const mips_triplets[] = { >> static bool lookup_path(char *name) >> { >> bool found = false; >> - char *path, *tmp; >> + char *path, *tmp = NULL; >> char buf[PATH_MAX]; >> char *env = getenv("PATH"); >> >> diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile >> index e3b3724..ca8d3e3 100644 >> --- a/tools/perf/config/Makefile >> +++ b/tools/perf/config/Makefile >> @@ -129,7 +129,7 @@ ifndef DEBUG >> endif >> >> ifeq ($(DEBUG),0) >> - CFLAGS += -O6 >> + CFLAGS += -Og >> endif >> >> ifdef PARSER_DEBUG >> diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c >> index 82a31fd..a19fbd4 100644 >> --- a/tools/perf/util/symbol.c >> +++ b/tools/perf/util/symbol.c >> @@ -400,7 +400,7 @@ static struct symbol *symbols__find_by_name(struct rb_root *symbols, >> const char *name) >> { >> struct rb_node *n; >> - struct symbol_name_rb_node *s; >> + struct symbol_name_rb_node *s = NULL; >> >> if (symbols == NULL) >> return NULL; >> diff --git a/tools/perf/util/trace-event-parse.c b/tools/perf/util/trace-event-parse.c >> index 25d6c73..d495741 100644 >> --- a/tools/perf/util/trace-event-parse.c >> +++ b/tools/perf/util/trace-event-parse.c >> @@ -173,7 +173,7 @@ void parse_ftrace_printk(struct pevent *pevent, >> char *line; >> char *next = NULL; >> char *addr_str; >> - char *fmt; >> + char *fmt = NULL; >> >> line = strtok_r(file, "\n", &next); >> while (line) { >> -- >> 2.1.4 >> >
| |