From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751503AbbEYNwq (ORCPT ); Mon, 25 May 2015 09:52:46 -0400 Received: from mail.kernel.org ([198.145.29.136]:55956 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751412AbbEYNwn (ORCPT ); Mon, 25 May 2015 09:52:43 -0400 Date: Mon, 25 May 2015 10:52:38 -0300 From: Arnaldo Carvalho de Melo To: Martin =?utf-8?B?TGnFoWth?= Cc: Ingo Molnar , linux-kernel@vger.kernel.org, Ingo Molnar , Paul Mackerras , Peter Zijlstra Subject: Re: [PATCH] perf: fix wrong DEBUG configuration Message-ID: <20150525135238.GE17970@kernel.org> References: <20150520135333.GE2955@kernel.org> <20150520145506.GA15679@gmail.com> <555CB373.7090007@suse.cz> <20150521150536.GB13933@kernel.org> <20150522070250.GA30715@gmail.com> <5562D788.9000201@suse.cz> <20150525104708.GB30252@gmail.com> <556301D3.5040100@suse.cz> <20150525110912.GA4236@gmail.com> <556303AC.4080909@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <556303AC.4080909@suse.cz> X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Mon, May 25, 2015 at 01:12:44PM +0200, Martin Liška escreveu: > On 05/25/2015 01:09 PM, Ingo Molnar wrote: > > > >* Martin Liška wrote: > > > >>>>Right optimize debugging experience is given by passing -Og to > >>>>compiler. Assign default value for pointers that are identified by > >>>>compiler as non-initialized. > >>> > >>>s/Right optimize debugging experience is given/ > >>> Correct debugging experience is given/ > > > >>Right debugging experience is given by passing -Og to compiler. > > > >So I fixed the spelling here once already :-/ If you want to use > >'right' in this context then use it like this: > > > > The right debugging experience is given by ... > > > >Or you can use what I suggested first: > > > > Correct debugging experience is given by ... > > > >Thanks, > > > > Ingo > > > > Sorry Ingo for that, I overlooked that correction :) Are you ok with this Ingo? I can apply, but there seems to be two patches folded here, one that sets the possibly unitiliazed variables to NULL, and could be the first in the series, and the other, that deals with multiple versions of gcc and how should we ask something from them. - Arnaldo > Attached version should reflect that. > > Thanks, > Martin > Currently, GCC optimizes -O6 same as -O3 level, thus change the value > to -O3. > Correct debugging experience is given by passing -Og to compiler. > Assign default value for pointers that are identified by the compiler as > non-initialized. > > Signed-off-by: Martin Liska > Acked-by: Ingo Molnar > --- > tools/perf/arch/common.c | 2 +- > tools/perf/config/Makefile | 4 +++- > tools/perf/config/utilities.mak | 19 +++++++++++++++++++ > tools/perf/util/symbol.c | 2 +- > tools/perf/util/trace-event-parse.c | 2 +- > 5 files changed, 25 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..47e4ae1 100644 > --- a/tools/perf/config/Makefile > +++ b/tools/perf/config/Makefile > @@ -129,7 +129,9 @@ ifndef DEBUG > endif > > ifeq ($(DEBUG),0) > - CFLAGS += -O6 > + CFLAGS += -O3 > +else > + CFLAGS += $(call cc-option,-Og,-O0) > endif > > ifdef PARSER_DEBUG > diff --git a/tools/perf/config/utilities.mak b/tools/perf/config/utilities.mak > index c16ce83..0ebef09 100644 > --- a/tools/perf/config/utilities.mak > +++ b/tools/perf/config/utilities.mak > @@ -177,3 +177,22 @@ $(if $($(1)),$(call _ge_attempt,$($(1)),$(1)),$(call _ge_attempt,$(2))) > endef > _ge_attempt = $(if $(get-executable),$(get-executable),$(call _gea_err,$(2))) > _gea_err = $(if $(1),$(error Please set '$(1)' appropriately)) > + > +# try-run > +# Usage: option = $(call try-run, $(CC)...-o "$$TMP",option-ok,otherwise) > +# Exit code chooses option. "$$TMP" is can be used as temporary file and > +# is automatically cleaned up. > +try-run = $(shell set -e; \ > + TMP="$(TMPOUT).$$$$.tmp"; \ > + TMPO="$(TMPOUT).$$$$.o"; \ > + if ($(1)) >/dev/null 2>&1; \ > + then echo "$(2)"; \ > + else echo "$(3)"; \ > + fi; \ > + rm -f "$$TMP" "$$TMPO") > + > +# cc-option > +# Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586) > + > +cc-option = $(call try-run,\ > + $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",$(1),$(2)) > 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 >