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, linux-perf-users@vger.kernel.org,
	Jin Yao <yao.jin@linux.intel.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Andi Kleen <ak@linux.intel.com>, Jin Yao <yao.jin@intel.com>,
	Kan Liang <kan.liang@intel.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 08/17] perf tools: Add 'perf -vv' as an alias to 'perf version --build-options'
Date: Tue,  3 Apr 2018 23:21:49 -0300	[thread overview]
Message-ID: <20180404022158.12190-9-acme@kernel.org> (raw)
In-Reply-To: <20180404022158.12190-1-acme@kernel.org>

From: Jin Yao <yao.jin@linux.intel.com>

We keep having bug reports that when users build perf on their own, but
they don't install some needed libraries such as libelf,
libbfd/libibery.

The perf can build, but it is missing important functionality.

This patch provides a new option '-vv' for perf which will print the
compiled-in status of libraries.

The 'perf -vv' is mapped to 'perf version --build-options'.

For example:

$ ./perf -vv

perf version 4.13.rc5.g6727c5
                 dwarf: [ on  ]  # HAVE_DWARF_SUPPORT
    dwarf_getlocations: [ on  ]  # HAVE_DWARF_GETLOCATIONS_SUPPORT
                 glibc: [ on  ]  # HAVE_GLIBC_SUPPORT
                  gtk2: [ on  ]  # HAVE_GTK2_SUPPORT
              libaudit: [ OFF ]  # HAVE_LIBAUDIT_SUPPORT
                libbfd: [ on  ]  # HAVE_LIBBFD_SUPPORT
                libelf: [ on  ]  # HAVE_LIBELF_SUPPORT
               libnuma: [ on  ]  # HAVE_LIBNUMA_SUPPORT
numa_num_possible_cpus: [ on  ]  # HAVE_LIBNUMA_SUPPORT
               libperl: [ on  ]  # HAVE_LIBPERL_SUPPORT
             libpython: [ on  ]  # HAVE_LIBPYTHON_SUPPORT
              libslang: [ on  ]  # HAVE_SLANG_SUPPORT
             libcrypto: [ on  ]  # HAVE_LIBCRYPTO_SUPPORT
             libunwind: [ on  ]  # HAVE_LIBUNWIND_SUPPORT
    libdw-dwarf-unwind: [ on  ]  # HAVE_DWARF_SUPPORT
                  zlib: [ on  ]  # HAVE_ZLIB_SUPPORT
                  lzma: [ on  ]  # HAVE_LZMA_SUPPORT
             get_cpuid: [ on  ]  # HAVE_AUXTRACE_SUPPORT
                   bpf: [ on  ]  # HAVE_LIBBPF_SUPPORT

v3:

One bug is found in v2. It didn't process the option like '-vabc'
correctly. Fix this bug.

v2:

Use a global variable version_verbose to record the number of 'v'.

Signed-off-by: Jin Yao <yao.jin@linux.intel.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jin Yao <yao.jin@intel.com>
Cc: Kan Liang <kan.liang@intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1522402036-22915-6-git-send-email-yao.jin@linux.intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/perf.c | 6 ++++++
 tools/perf/perf.h | 1 +
 2 files changed, 7 insertions(+)

diff --git a/tools/perf/perf.c b/tools/perf/perf.c
index 1b3fc8ec0fa2..1659029d03fc 100644
--- a/tools/perf/perf.c
+++ b/tools/perf/perf.c
@@ -190,6 +190,12 @@ static int handle_options(const char ***argv, int *argc, int *envchanged)
 			break;
 		}
 
+		if (!strcmp(cmd, "-vv")) {
+			(*argv)[0] = "version";
+			version_verbose = 1;
+			break;
+		}
+
 		/*
 		 * Check remaining flags.
 		 */
diff --git a/tools/perf/perf.h b/tools/perf/perf.h
index 8fec1abd0f1f..a1a97956136f 100644
--- a/tools/perf/perf.h
+++ b/tools/perf/perf.h
@@ -84,6 +84,7 @@ struct record_opts {
 struct option;
 extern const char * const *record_usage;
 extern struct option *record_options;
+extern int version_verbose;
 
 int record__parse_freq(const struct option *opt, const char *str, int unset);
 #endif
-- 
2.14.3

  parent reply	other threads:[~2018-04-04  2:21 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-04  2:21 [GIT PULL 00/17] perf/core improvements and fixes Arnaldo Carvalho de Melo
2018-04-04  2:21 ` Arnaldo Carvalho de Melo
2018-04-04  2:21 ` [PATCH 01/17] perf tools: Add a "dso_size" sort order Arnaldo Carvalho de Melo
2018-04-04  2:21 ` [PATCH 02/17] tools headers: Synchronize x86's cpufeatures.h Arnaldo Carvalho de Melo
2018-04-04  2:21 ` [PATCH 03/17] perf trace: Show only failing syscalls Arnaldo Carvalho de Melo
2018-04-04  2:21 ` [PATCH 04/17] tools include: Add config.h header file Arnaldo Carvalho de Melo
2018-04-04  2:21 ` [PATCH 06/17] perf config: Rename to HAVE_DWARF_GETLOCATIONS_SUPPORT Arnaldo Carvalho de Melo
2018-04-04  2:21 ` [PATCH 07/17] perf version: Print the compiled-in status of libraries Arnaldo Carvalho de Melo
2018-04-04  2:21 ` Arnaldo Carvalho de Melo [this message]
2018-04-04  2:21 ` [PATCH 09/17] perf version: Add man page Arnaldo Carvalho de Melo
2018-04-04  2:21 ` [PATCH 10/17] perf hists browser: Rename perf_evsel_browser_title to a more descriptive name Arnaldo Carvalho de Melo
2018-04-04  2:21 ` [PATCH 11/17] perf hists: Introduce hists__scnprint_title() Arnaldo Carvalho de Melo
2018-04-04  2:21 ` [PATCH 12/17] perf hists: Move hists__scnprintf_title() away from the TUI code Arnaldo Carvalho de Melo
2018-04-04  2:21 ` [PATCH 13/17] perf ui browser: Move the extra title lines from the hists browser Arnaldo Carvalho de Melo
2018-04-04  2:21 ` [PATCH 14/17] perf annotate: Introduce annotation__scnprintf_samples_period() method Arnaldo Carvalho de Melo
2018-04-04  2:21 ` [PATCH 15/17] perf annotate browser: Show extra title line with event information Arnaldo Carvalho de Melo
2018-04-04  2:21 ` [PATCH 16/17] perf annotate stdio2: Print more descriptive event information header Arnaldo Carvalho de Melo
2018-04-04  2:21 ` [PATCH 17/17] perf trace: Remove redundant ')' Arnaldo Carvalho de Melo
2018-04-04  5:25 ` [GIT PULL 00/17] perf/core improvements and fixes Ingo Molnar
2018-04-04  5:25   ` 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=20180404022158.12190-9-acme@kernel.org \
    --to=acme@kernel.org \
    --cc=acme@redhat.com \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=kan.liang@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=yao.jin@intel.com \
    --cc=yao.jin@linux.intel.com \
    /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.