All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <andi@firstfloor.org>
To: acme@kernel.org
Cc: jolsa@kernel.org, linux-kernel@vger.kernel.org,
	Andi Kleen <ak@linux.intel.com>
Subject: [PATCH 1/5] perf, tools: Add probing for xed
Date: Wed, 18 Jan 2017 17:41:46 -0800	[thread overview]
Message-ID: <20170119014150.19218-2-andi@firstfloor.org> (raw)
In-Reply-To: <20170119014150.19218-1-andi@firstfloor.org>

From: Andi Kleen <ak@linux.intel.com>

Add autoprobing for the xed disassembler library.

Can be downloaded from https://github.com/intelxed/xed

v2: Hide. Require XED=1 to enable. Add XED_DIR
v3: Remove -lxed from probe all. Don't touch FEATURE_DISPLAY.
v4: Move to FEATURE_FLAGS_BASIC
Signed-off-by: Andi Kleen <ak@linux.intel.com>
---
 tools/build/Makefile.feature   |  4 +++-
 tools/build/feature/Makefile   |  6 +++++-
 tools/build/feature/test-all.c |  5 +++++
 tools/build/feature/test-xed.c |  9 +++++++++
 tools/perf/Makefile.config     | 16 ++++++++++++++++
 tools/perf/Makefile.perf       |  3 +++
 6 files changed, 41 insertions(+), 2 deletions(-)
 create mode 100644 tools/build/feature/test-xed.c

diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature
index e3fb5ecbdcb6..c5012b8a49fe 100644
--- a/tools/build/Makefile.feature
+++ b/tools/build/Makefile.feature
@@ -63,7 +63,8 @@ FEATURE_TESTS_BASIC :=                  \
         lzma                            \
         get_cpuid                       \
         bpf                             \
-        sdt
+        sdt				\
+        xed
 
 # FEATURE_TESTS_BASIC + FEATURE_TESTS_EXTRA is the complete list
 # of all feature tests
@@ -140,6 +141,7 @@ ifeq ($(feature-all), 1)
   $(call feature_check,compile-x32)
   $(call feature_check,bionic)
   $(call feature_check,libbabeltrace)
+  $(call feature_check,xed)
 else
   $(foreach feat,$(FEATURE_TESTS),$(call feature_check,$(feat)))
 endif
diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
index b564a2eea039..4f1aa82b867a 100644
--- a/tools/build/feature/Makefile
+++ b/tools/build/feature/Makefile
@@ -48,7 +48,8 @@ FILES=                                          \
          test-get_cpuid.bin                     \
          test-sdt.bin                           \
          test-cxx.bin                           \
-         test-jvmti.bin
+         test-jvmti.bin				\
+         test-xed.bin
 
 FILES := $(addprefix $(OUTPUT),$(FILES))
 
@@ -123,6 +124,9 @@ $(OUTPUT)test-numa_num_possible_cpus.bin:
 $(OUTPUT)test-libunwind.bin:
 	$(BUILD) -lelf
 
+$(OUTPUT)test-xed.bin:
+	$(BUILD) -lxed
+
 $(OUTPUT)test-libunwind-debug-frame.bin:
 	$(BUILD) -lelf
 $(OUTPUT)test-libunwind-x86.bin:
diff --git a/tools/build/feature/test-all.c b/tools/build/feature/test-all.c
index 699e43627397..4a6dd1d1ff49 100644
--- a/tools/build/feature/test-all.c
+++ b/tools/build/feature/test-all.c
@@ -149,6 +149,10 @@
 # include "test-sdt.c"
 #undef main
 
+#define main main_test_xed
+#  include "test-xed.c"
+#endif
+
 int main(int argc, char *argv[])
 {
 	main_test_libpython();
@@ -183,6 +187,7 @@ int main(int argc, char *argv[])
 	main_test_bpf();
 	main_test_libcrypto();
 	main_test_sdt();
+	main_test_xed();
 
 	return 0;
 }
diff --git a/tools/build/feature/test-xed.c b/tools/build/feature/test-xed.c
new file mode 100644
index 000000000000..ef9aebf1559d
--- /dev/null
+++ b/tools/build/feature/test-xed.c
@@ -0,0 +1,9 @@
+#include <xed/xed-interface.h>
+#include <xed/xed-decode.h>
+#include <xed/xed-decoded-inst-api.h>
+
+int main(void)
+{
+	xed_tables_init();
+	return 0;
+}
diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
index 03cf947755b9..9996027e7a52 100644
--- a/tools/perf/Makefile.config
+++ b/tools/perf/Makefile.config
@@ -684,6 +684,22 @@ ifndef NO_ZLIB
   endif
 endif
 
+ifdef XED
+  ifdef XED_DIR
+    FEATURE_CHECK_CFLAGS-xed := -I $(XED_DIR)/include
+    # override for lib64?
+    FEATURE_CHECK_LDFLAGS-xed := -L $(XED_DIR)/lib -lxed
+  else
+    FEATURE_CHECK_CFLAGS-xed :=
+    FEATURE_CHECK_LDFLAGS-xed := -lxed
+  endif
+  $(call feature_check,xed)
+  ifeq ($(feature-xed), 1)
+    EXTLIBS += -lxed
+    $(call detected,CONFIG_XED)
+  endif
+endif
+
 ifndef NO_LZMA
   ifeq ($(feature-lzma), 1)
     CFLAGS += -DHAVE_LZMA_SUPPORT
diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
index 4da19b6ba94a..f6760309edd3 100644
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@ -84,6 +84,9 @@ include ../scripts/utilities.mak
 # Define NO_SDT if you do not want to define SDT event in perf tools,
 # note that it doesn't disable SDT scanning support.
 #
+# Define XED=1 to build WITH the XED disassembler for perf script
+# Can also set XED_DIR=/path to set XED directory.
+#
 # Define FEATURES_DUMP to provide features detection dump file
 # and bypass the feature detection
 #
-- 
2.9.3

  reply	other threads:[~2017-01-19  1:42 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-19  1:41 New attempt at adding an disassembler to perf Andi Kleen
2017-01-19  1:41 ` Andi Kleen [this message]
2017-01-19  1:41 ` [PATCH 2/5] perf, tools: Add one liner warning for disabled features Andi Kleen
2017-01-19  1:41 ` [PATCH 3/5] perf, tools: Add disassembler for x86 using the XED library Andi Kleen
2017-01-19  1:41 ` [PATCH 4/5] perf, tools, script: Add support for printing assembler Andi Kleen
2017-01-23 19:49   ` Arnaldo Carvalho de Melo
2017-01-23 19:55     ` Andi Kleen
2017-01-23 20:06       ` Arnaldo Carvalho de Melo
2017-01-19  1:41 ` [PATCH 5/5] perf, tools, script: Add brstackasm output for branch stacks Andi Kleen
2017-01-24 18:54   ` Arnaldo Carvalho de Melo
2017-01-19 15:36 ` New attempt at adding an disassembler to perf Jiri Olsa
2017-01-19 16:54   ` Andi Kleen
2017-01-20 13:22 ` Jiri Olsa
  -- strict thread matches above, loose matches on Subject: below --
2017-01-10  1:02 New attempt at adding an disassembler to perf v2 Andi Kleen
2017-01-10  1:02 ` [PATCH 1/5] perf, tools: Add probing for xed Andi Kleen
2017-01-10  6:11   ` Willy Tarreau
2017-01-11 18:37     ` Jiri Olsa
2017-01-11 18:28   ` Jiri Olsa
2017-01-11 18:37   ` Jiri Olsa
2017-01-11 22:17     ` Andi Kleen
2017-01-12  8:52       ` Jiri Olsa
2017-01-12 17:39         ` Andi Kleen
2017-01-18 11:16           ` Jiri Olsa

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=20170119014150.19218-2-andi@firstfloor.org \
    --to=andi@firstfloor.org \
    --cc=acme@kernel.org \
    --cc=ak@linux.intel.com \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /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.