All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org, Martin Liska <mliska@suse.cz>,
	Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 21/25] perf tools: Improve setting of gcc debug option
Date: Wed, 27 May 2015 12:39:06 -0300	[thread overview]
Message-ID: <1432741150-28551-22-git-send-email-acme@kernel.org> (raw)
In-Reply-To: <1432741150-28551-1-git-send-email-acme@kernel.org>

From: Martin Liska <mliska@suse.cz>

Correct debugging experience is given by passing -Og to compiler.

Do it in a way that supports older compilers

Signed-off-by: Martin Liska <mliska@suse.cz>
Acked-by: Ingo Molnar <mingo@kernel.org>
Link: http://lkml.kernel.org/r/5564393C.1090104@suse.cz
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/config/Makefile      |  2 ++
 tools/perf/config/utilities.mak | 19 +++++++++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
index e3b3724e73ff..317001c94660 100644
--- a/tools/perf/config/Makefile
+++ b/tools/perf/config/Makefile
@@ -130,6 +130,8 @@ endif
 
 ifeq ($(DEBUG),0)
   CFLAGS += -O6
+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 c16ce833079c..0ebef09c0842 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))
-- 
2.1.0


  parent reply	other threads:[~2015-05-27 15:41 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-27 15:38 [GIT PULL 00/25] perf/core improvements and fixes Arnaldo Carvalho de Melo
2015-05-27 15:38 ` [PATCH 01/25] perf tools: Separate the tests and tools in installation Arnaldo Carvalho de Melo
2015-05-27 15:38 ` [PATCH 02/25] perf tools: Fix function declarations needed by parse-events.y Arnaldo Carvalho de Melo
2015-05-27 15:38 ` [PATCH 03/25] perf tools: Fix parse_events_error dereferences Arnaldo Carvalho de Melo
2015-05-27 15:38 ` [PATCH 04/25] perf build: Fix libunwind feature detection on 32-bit x86 Arnaldo Carvalho de Melo
2015-05-27 15:38 ` [PATCH 05/25] perf session: Fix perf_session__peek_event() Arnaldo Carvalho de Melo
2015-05-27 15:38 ` [PATCH 06/25] perf hists: Reducing arguments of hist_entry_iter__add() Arnaldo Carvalho de Melo
2015-05-27 15:38 ` [PATCH 07/25] perf hists: Rename add_hist_entry to hists__findnew_entry Arnaldo Carvalho de Melo
2015-05-27 15:38 ` [PATCH 08/25] perf comm: Use atomic.h for refcounting Arnaldo Carvalho de Melo
2015-05-27 15:38 ` [PATCH 09/25] perf machine: Do not call map_groups__delete(), drop refcnt instead Arnaldo Carvalho de Melo
2015-05-27 15:38 ` [PATCH 10/25] perf tools: Fix dso__data_read_offset() file opening Arnaldo Carvalho de Melo
2015-05-27 15:38 ` [PATCH 11/25] perf tools: Get rid of dso__data_fd() from dso__data_size() Arnaldo Carvalho de Melo
2015-05-27 15:38 ` [PATCH 12/25] perf tools: Add dso__data_get/put_fd() Arnaldo Carvalho de Melo
2015-05-27 15:38 ` [PATCH 13/25] perf tools: Rename maps__next Arnaldo Carvalho de Melo
2015-05-27 15:38 ` [PATCH 14/25] perf tools: Remove redundant initialization of thread linkage members Arnaldo Carvalho de Melo
2015-05-27 15:39 ` [PATCH 15/25] perf tools: Nuke unused map_groups__flush() Arnaldo Carvalho de Melo
2015-05-27 15:39 ` [PATCH 16/25] perf tools: Import rb_erase_init from block/ in the kernel sources Arnaldo Carvalho de Melo
2015-05-27 15:39 ` [PATCH 17/25] perf machine: Mark removed threads as such Arnaldo Carvalho de Melo
2015-05-27 15:39 ` [PATCH 18/25] perf tools: Leave DSO destruction to the map destruction Arnaldo Carvalho de Melo
2015-05-27 15:39 ` [PATCH 19/25] perf tools: Use maps__first()/map__next() Arnaldo Carvalho de Melo
2015-05-27 15:39 ` [PATCH 20/25] perf tools: Assign default value for some pointers Arnaldo Carvalho de Melo
2015-05-27 15:39 ` Arnaldo Carvalho de Melo [this message]
2015-05-27 15:39 ` [PATCH 22/25] perf sched: Add option to merge like comms to lat output Arnaldo Carvalho de Melo
2015-05-27 15:39 ` [PATCH 23/25] perf tools: Disallow PMU events intel_pt and intel_bts until there is support Arnaldo Carvalho de Melo
2015-05-27 15:39 ` [PATCH 24/25] perf probe: Show the error reason comes from invalid DSO Arnaldo Carvalho de Melo
2015-05-27 15:39 ` [PATCH 25/25] perf probe: Fix an error when deleting probes successfully Arnaldo Carvalho de Melo
2015-05-27 16:43 ` [GIT PULL 00/25] perf/core improvements and fixes Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1432741150-28551-22-git-send-email-acme@kernel.org \
    --to=acme@kernel.org \
    --cc=acme@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=mliska@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.