mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@infradead.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: linux-kernel@vger.kernel.org, Michael Witten <mfwitten@gmail.com>
Subject: [PATCH 21/23] perf tools: Revert regression in configuration of Python support
Date: Wed, 10 Jul 2013 16:19:21 -0300	[thread overview]
Message-ID: <1373483963-19277-22-git-send-email-acme@infradead.org> (raw)
In-Reply-To: <1373483963-19277-1-git-send-email-acme@infradead.org>

From: Michael Witten <mfwitten@gmail.com>

Among other things, the following:

  commit 31160d7feab786c991780d7f0ce2755a469e0e5e
  Date:   Tue Jan 8 16:22:36 2013 -0500
  perf tools: Fix GNU make v3.80 compatibility issue

attempts to aid the user by tapping into an existing error message,
as described in the commit message:

  ... Also fix an issue where _get_attempt was called with only
  one argument. This prevented the error message from printing
  the name of the variable that can be used to fix the problem.

or more precisely:

  -$(if $($(1)),$(call _ge_attempt,$($(1)),$(1)),$(call _ge_attempt,$(2)))
  +$(if $($(1)),$(call _ge_attempt,$($(1)),$(1)),$(call _ge_attempt,$(2),$(1)))

However, The "missing" argument was in fact missing on purpose; it's
absence is a signal that the error message should be skipped, because
the failure would be due to the default value, not any user-supplied
value.  This can be seen in how `_ge_attempt' uses `gea_err' (in the
config/utilities.mak file):

  _ge_attempt = $(if $(get-executable),$(get-executable),$(_gea_warn)$(call _gea_err,$(2)))
  _gea_warn = $(warning The path '$(1)' is not executable.)
  _gea_err  = $(if $(1),$(error Please set '$(1)' appropriately))

That is, because the argument is no longer missing, the value `$(1)'
(associated with `_gea_err') always evaluates to true, thus always
triggering the error condition that is meant to be reserved for
only the case when a user explicitly supplies an invalid value.

Concretely, the result is a regression in the Makefile's configuration
of python support; rather than gracefully disable support when the
relevant executables cannot be found according to default values, the
build process halts in error as though the user explicitly supplied
the values.

This new commit simply reverts the offending one-line change.

Reported-by: Pekka Enberg <penberg@kernel.org>
Link: http://lkml.kernel.org/r/CAOJsxLHv17Ys3M7P5q25imkUxQW6LE_vABxh1N3Tt7Mv6Ho4iw@mail.gmail.com
Signed-off-by: Michael Witten <mfwitten@gmail.com>
---
 tools/perf/config/utilities.mak | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/config/utilities.mak b/tools/perf/config/utilities.mak
index faffb52..94d2d4f 100644
--- a/tools/perf/config/utilities.mak
+++ b/tools/perf/config/utilities.mak
@@ -173,7 +173,7 @@ _ge-abspath = $(if $(is-executable),$(1))
 # Usage: absolute-executable-path-or-empty = $(call get-executable-or-default,variable,default)
 #
 define get-executable-or-default
-$(if $($(1)),$(call _ge_attempt,$($(1)),$(1)),$(call _ge_attempt,$(2),$(1)))
+$(if $($(1)),$(call _ge_attempt,$($(1)),$(1)),$(call _ge_attempt,$(2)))
 endef
 _ge_attempt = $(if $(get-executable),$(get-executable),$(_gea_warn)$(call _gea_err,$(2)))
 _gea_warn = $(warning The path '$(1)' is not executable.)
-- 
1.8.1.4


  parent reply	other threads:[~2013-07-10 19:22 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1373483963-19277-1-git-send-email-acme@infradead.org>
2013-07-10 19:19 ` [PATCH 01/23] tools: Get only verbose output with V=1 Arnaldo Carvalho de Melo
2013-07-10 19:19 ` [PATCH 02/23] perf tools: Fix output directory of Documentation/ Arnaldo Carvalho de Melo
2013-07-10 19:19 ` [PATCH 03/23] perf tools: Fix build errors with O and DESTDIR make vars set Arnaldo Carvalho de Melo
2013-07-10 19:19 ` [PATCH 04/23] perf bench: Fix memory allocation fail check in mem{set,cpy} workloads Arnaldo Carvalho de Melo
2013-07-10 19:19 ` [PATCH 05/23] perf tools: Include termios.h explicitly Arnaldo Carvalho de Melo
2013-07-10 19:19 ` [PATCH 06/23] tools lib lk: Fix for cross build Arnaldo Carvalho de Melo
2013-07-11  0:34   ` Joonsoo Kim
2013-07-10 19:19 ` [PATCH 07/23] perf stat: Avoid sending SIGTERM to random processes Arnaldo Carvalho de Melo
2013-07-10 19:19 ` [PATCH 08/23] perf record: Remove -A/--append option Arnaldo Carvalho de Melo
2013-07-10 19:19 ` [PATCH 09/23] perf record: Remove -f/--force option Arnaldo Carvalho de Melo
2013-07-10 19:19 ` [PATCH 10/23] perf evlist: Enhance perf_evlist__start_workload() Arnaldo Carvalho de Melo
2013-07-10 19:19 ` [PATCH 11/23] perf tools: Fix -x/--exclude-other option for report command Arnaldo Carvalho de Melo
2013-07-10 19:19 ` [PATCH 12/23] perf tools: fix a typo of a Power7 event name Arnaldo Carvalho de Melo
2013-07-10 19:19 ` [PATCH 13/23] perf evsel: Fix count parameter to read call in event_format__new Arnaldo Carvalho de Melo
2013-07-10 19:19 ` [PATCH 14/23] perf tools: Fix parse_events_terms() segfault on error path Arnaldo Carvalho de Melo
2013-07-10 19:19 ` [PATCH 15/23] perf tools: Fix new_term() missing free " Arnaldo Carvalho de Melo
2013-07-10 19:19 ` [PATCH 16/23] perf tools: Update symbol_conf.nr_events when processing attribute events Arnaldo Carvalho de Melo
2013-07-10 19:19 ` [PATCH 17/23] perf evsel: Fix missing increment in sample parsing Arnaldo Carvalho de Melo
2013-07-10 19:19 ` [PATCH 18/23] perf symbols: Fix vdso list searching Arnaldo Carvalho de Melo
2013-07-10 19:19 ` [PATCH 19/23] perf stat: Fix per-socket output bug for uncore events Arnaldo Carvalho de Melo
2013-07-10 19:19 ` [PATCH 20/23] perf tools: Fix perf version generation Arnaldo Carvalho de Melo
2013-07-10 19:19 ` Arnaldo Carvalho de Melo [this message]
2013-07-10 19:19 ` [PATCH 22/23] perf tools: Fix -ldw/-lelf link test when static linking Arnaldo Carvalho de Melo
2013-07-10 19:19 ` [PATCH 23/23] perf script: Fix broken include in Context.xs Arnaldo Carvalho de Melo

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=1373483963-19277-22-git-send-email-acme@infradead.org \
    --to=acme@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mfwitten@gmail.com \
    --cc=mingo@elte.hu \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®