Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752278AbaJYWYa (ORCPT ); Sat, 25 Oct 2014 18:24:30 -0400 Received: from mail-la0-f54.google.com ([209.85.215.54]:60500 "EHLO mail-la0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752106AbaJYWXu (ORCPT ); Sat, 25 Oct 2014 18:23:50 -0400 From: Alexis Berlemont To: linux-kernel@vger.kernel.org Cc: Alexis Berlemont , jolsa@redhat.com, dsahern@gmail.com, mingo@redhat.com, a.p.zijlstra@chello.nl, paulus@samba.org, acme@kernel.org, namhyung@kernel.org, mmarek@suse.cz Subject: [PATCH v4 13/14] perf kbuild: final cosmetic changes Date: Sun, 26 Oct 2014 00:20:38 +0200 Message-Id: <1414275639-1053-14-git-send-email-alexis.berlemont@gmail.com> X-Mailer: git-send-email 2.1.1 In-Reply-To: <1414275639-1053-1-git-send-email-alexis.berlemont@gmail.com> References: <1414275639-1053-1-git-send-email-alexis.berlemont@gmail.com> In-Reply-To: <20141024124601.GX14687@kernel.org> References: <20141024124601.GX14687@kernel.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Correctly rename internal makefile variables * Remove makefiles in tools/perf/config which became empty and useless * Remove builtin-cmds.h * Remove arch/x86/Makefile * Improve outputs of clean and install targets * Remove creation of PERF-FEATURES file which is redundant with the .config file generated by Kconfig. * replace HAVE_KVM_STAT_SUPPORT by a Kconfig option * replace HAVE_SKIP_CALLCHAIN_IDX by a Kconfig option * add Kconfig options for 32-bit compatibility VDSOs Signed-off-by: Alexis Berlemont --- Changes since v3: * Add Kconfig options for 32-bit compatibility VDSOs tools/perf/Kconfig | 29 ++++++++- tools/perf/Makefile.kbuild | 76 ++++++++++++++---------- tools/perf/arch/s390/util/Kbuild | 2 +- tools/perf/arch/x86/Makefile | 17 ------ tools/perf/arch/x86/util/Kbuild | 2 +- tools/perf/builtin-cmds.h | 6 -- tools/perf/builtin-help.c | 2 +- tools/perf/builtin-kvm.c | 6 +- tools/perf/builtin-lock.c | 2 +- tools/perf/builtin-sched.c | 2 +- tools/perf/config/Makefile | 108 +++++++++++----------------------- tools/perf/config/Makefile.fix-config | 6 -- tools/perf/config/Makefile.fix-legacy | 2 - tools/perf/perf.c | 2 +- tools/perf/util/vdso.c | 5 +- 15 files changed, 115 insertions(+), 152 deletions(-) delete mode 100644 tools/perf/arch/x86/Makefile delete mode 100644 tools/perf/builtin-cmds.h delete mode 100644 tools/perf/config/Makefile.fix-config delete mode 100644 tools/perf/config/Makefile.fix-legacy diff --git a/tools/perf/Kconfig b/tools/perf/Kconfig index 54a194d..83f3d6d 100644 --- a/tools/perf/Kconfig +++ b/tools/perf/Kconfig @@ -5,9 +5,9 @@ config TARGET_ARCH string option env="ARCH" -config TARGET_IS_X86_64 +config TARGET_IS_64_BIT string - option env="IS_X86_64" + option env="IS_64_BIT" config TARGET_CROSS_COMPILE string @@ -19,7 +19,7 @@ config ARCH config X86_64 bool - default y if TARGET_ARCH = "x86" && TARGET_IS_X86_64 = "1" + default y if TARGET_ARCH = "x86" && TARGET_IS_64_BIT = "1" config CROSS_COMPILE string @@ -128,6 +128,13 @@ config BUILTIN_KVM ---help--- Tool to trace/measure kvm guest os +config BUILTIN_KVM_STAT + bool "kvm-stat" + default y + depends on BUILTIN_KVM && (ARCH = "x86" || ARCH = "s390") + ---help--- + Get performance counter statistics on a kvm guest os. + config BUILTIN_LIST bool "list" default y @@ -405,6 +412,22 @@ config PERF_REGS Cache register accesses for unwind processing to speed-up performances. +config READ_VDSO32 + bool "Support 32-bit compatibility" + depends on TARGET_IS_64_BIT = "1" + default y + ---help--- + On 64-bits architecture, support 32-bit compatibility VDSOs + +config READ_VDSOX32 + bool "Support x32 compatibility" + depends on X86_64 + default y + ---help--- + On x86_64 architecture, support x32 compatibility VDSOs + (code for x86_64 architecture but "long" and pointer types + set to 32 bits) + endmenu menu "Build" diff --git a/tools/perf/Makefile.kbuild b/tools/perf/Makefile.kbuild index b48fe7f..84b7c01 100644 --- a/tools/perf/Makefile.kbuild +++ b/tools/perf/Makefile.kbuild @@ -1,6 +1,5 @@ srctree := $(abspath $(if $(KBUILD_SRC),$(KBUILD_SRC),$(CURDIR)/../../)) objtree := $(abspath $(if $(KBUILD_SRC),$(CURDIR),$(CURDIR)/../..)) - VPATH := $(srctree) export srctree VPATH @@ -36,7 +35,8 @@ export quiet Q KBUILD_VERBOSE ifndef V QUIET_LINK = @echo ' LD $@'; QUIET_GEN = @echo ' GEN $@'; -QUIET_CLEAN = @echo ' CLEAN tools/perf'; +QUIET_CLEAN = @printf ' CLEAN %s\n' $1; +QUIET_INSTALL = @printf ' INSTALL %s\n' $1; endif export QUIET_BISON QUIET_FLEX @@ -127,7 +127,7 @@ export CONFIG_DETECTED # arch-related main variables include $(src-perf)/config/Makefile.arch -export ARCH IS_X86_64 CROSS_COMPILE +export ARCH IS_X86_64 IS_64_BIT CROSS_COMPILE # external .a libs LIBTRACEEVENT := $(obj-kernel)/tools/lib/traceevent/libtraceevent.a @@ -158,7 +158,6 @@ $(CONFIG_DETECTED): $(KCONFIG_CONFIG) # no need to include auto.conf.cmd, because .config # is the only dependency here $(KCONFIG_AUTOCONFIG): $(KCONFIG_CONFIG) $(CONFIG_DETECTED) - $(Q)$(MAKE) -f $(src-perf)/config/Makefile.fix-config $(Q)mkdir -p $(obj-perf)/include/config $(Q)mkdir -p $(obj-perf)/include/generated $(Q)$(MAKE) -s $(build)=scripts/kconfig silentoldconfig @@ -167,22 +166,26 @@ $(KCONFIG_AUTOCONFIG): $(KCONFIG_CONFIG) $(CONFIG_DETECTED) clean-dirs := $(addprefix _clean_, tools/perf/) $(clean-dirs): + $(call QUIET_CLEAN, core-objs) $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.clean obj=$(patsubst _clean_%,%,$@) -clean: $(clean-dirs) $(LIBTRACEEVENT)-clean $(LIBAPIKFS)-clean - $(Q)$(QUIET_CLEAN) - $(Q)rm -f $(obj-perf)/perf - $(Q)rm -f $(obj-perf)/common-cmds.h - $(Q)rm -f $(obj-perf)/python/perf.so +config-clean: + $(call QUIET_CLEAN, config) + @$(MAKE) OUTPUT=$(obj-perf)/config/feature-checks/ -C $(src-perf)/config/feature-checks clean >/dev/null $(Q)rm -rf $(obj-perf)/include/generated $(obj-perf)/include/config + $(Q)rm -f $(CONFIG_DETECTED) $(KCONFIG_CONFIG) + $(Q)rm -f $(obj-perf)/common-cmds.h + +clean: $(clean-dirs) $(LIBTRACEEVENT)-clean $(LIBAPIKFS)-clean config-clean + $(call QUIET_CLEAN, core-progs) + $(Q)rm -f $(obj-perf)/perf + $(call QUIET_CLEAN, misc) $(Q)find $(obj-perf) \ \( -name '*.[oas]' -o -name '.*.cmd' \ -o -name '.*.d' -o -name '.*.tmp' \ -o -name '*-flex.[ch]' -o -name '*-bison.[ch]' \ \) -type f -print | xargs rm -f - $(Q)$(python-clean) - $(Q)rm -f $(CONFIG_DETECTED) $(KCONFIG_CONFIG) - @$(MAKE) OUTPUT=$(obj-perf)/config/feature-checks/ -C $(src-perf)/config/feature-checks clean >/dev/null + $(python-clean) TAGS tags: $(Q)rm -f $(src-perf)/tags @@ -257,7 +260,7 @@ PYTHON_EXTBUILD_TMP := $(PYTHON_EXTBUILD)tmp/ export PYTHON_EXTBUILD_LIB PYTHON_EXTBUILD_TMP -python-clean := rm -rf $(PYTHON_EXTBUILD) $(obj-perf)/python/perf.so +python-clean := $(call QUIET_CLEAN, python) rm -rf $(PYTHON_EXTBUILD) $(obj-perf)/python/perf.so PYTHON_EXT_SRCS := $(addprefix $(src-perf)/,$(shell grep -v ^\# $(src-perf)/util/python-ext-sources)) PYTHON_EXT_DEPS := $(src-perf)/util/python-ext-sources $(src-perf)/util/setup.py @@ -343,25 +346,34 @@ $(SCRIPTS) : % : %.sh all: $(SCRIPTS) install-bin: all - $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(bindir_SQ)' - $(INSTALL) $(obj-perf)/perf '$(DESTDIR_SQ)$(bindir_SQ)' - $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl/Perf-Trace-Util/lib/Perf/Trace' - $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl/bin' - $(INSTALL) $(src-perf)/perf-archive -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)' - $(INSTALL) $(src-perf)/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/* -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl/Perf-Trace-Util/lib/Perf/Trace' - $(INSTALL) $(src-perf)/scripts/perl/*.pl -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl' - $(INSTALL) $(src-perf)/scripts/perl/bin/* -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl/bin' - $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/python/Perf-Trace-Util/lib/Perf/Trace' - $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/python/bin' - $(INSTALL) $(src-perf)/scripts/python/Perf-Trace-Util/lib/Perf/Trace/* -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/python/Perf-Trace-Util/lib/Perf/Trace' - $(INSTALL) $(src-perf)/scripts/python/*.py -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/python' - $(INSTALL) $(src-perf)/scripts/python/bin/* -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/python/bin' - $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d' - $(INSTALL) $(src-perf)/perf-completion.sh '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d/perf' - $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests' - $(INSTALL) $(src-perf)/tests/attr.py '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests' - $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/attr' - $(INSTALL) $(src-perf)/tests/attr/* '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/attr' + $(call QUIET_INSTALL, binaries) \ + $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(bindir_SQ)' ; \ + $(INSTALL) $(obj-perf)/perf '$(DESTDIR_SQ)$(bindir_SQ)' ; \ + ln '$(DESTDIR_SQ)$(bindir_SQ)/perf' '$(DESTDIR_SQ)$(bindir_SQ)/trace' + $(call QUIET_INSTALL, libexec) \ + $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)' + $(call QUIET_INSTALL, perf-archive) \ + $(INSTALL) $(src-perf)/perf-archive -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)' + $(call QUIET_INSTALL, perl-scripts) \ + $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl/Perf-Trace-Util/lib/Perf/Trace' ; \ + $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl/bin' ; \ + $(INSTALL) $(src-perf)/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/* -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl/Perf-Trace-Util/lib/Perf/Trace' ; \ + $(INSTALL) $(src-perf)/scripts/perl/*.pl -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl' ; \ + $(INSTALL) $(src-perf)/scripts/perl/bin/* -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl/bin' + $(call QUIET_INSTALL, python-scripts) \ + $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/python/Perf-Trace-Util/lib/Perf/Trace' ; \ + $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/python/bin' ; \ + $(INSTALL) $(src-perf)/scripts/python/Perf-Trace-Util/lib/Perf/Trace/* -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/python/Perf-Trace-Util/lib/Perf/Trace' ; \ + $(INSTALL) $(src-perf)/scripts/python/*.py -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/python' ; \ + $(INSTALL) $(src-perf)/scripts/python/bin/* -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/python/bin' + $(call QUIET_INSTALL, perf_completion-script) \ + $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d' ; \ + $(INSTALL) $(src-perf)/perf-completion.sh '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d/perf' + $(call QUIET_INSTALL, tests) \ + $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests' ; \ + $(INSTALL) $(src-perf)/tests/attr.py '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests' ; \ + $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/attr' ; \ + $(INSTALL) $(src-perf)/tests/attr/* '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/attr' install: install-bin try-install-man $(LIBTRACEEVENT)-install diff --git a/tools/perf/arch/s390/util/Kbuild b/tools/perf/arch/s390/util/Kbuild index 73df1ff..833e3b8 100644 --- a/tools/perf/arch/s390/util/Kbuild +++ b/tools/perf/arch/s390/util/Kbuild @@ -1,2 +1,2 @@ -obj-y += kvm-stat.o +obj-$(CONFIG_BUILTIN_KVM_STAT) += kvm-stat.o obj-$(CONFIG_LIBDWARF) += dwarf-regs.o diff --git a/tools/perf/arch/x86/Makefile b/tools/perf/arch/x86/Makefile deleted file mode 100644 index af36aad..0000000 --- a/tools/perf/arch/x86/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -ifeq ($(LIBDWARF), 1) -PERF_HAVE_DWARF_REGS := 1 -LIB_OBJS += $(OUTPUT)arch/$(ARCH)/util/dwarf-regs.o -endif -ifeq ($(LIBUNWIND), 1) -LIB_OBJS += $(OUTPUT)arch/$(ARCH)/util/unwind-libunwind.o -endif -ifeq ($(LIBDWARF_UNWIND), 1) -LIB_OBJS += $(OUTPUT)arch/$(ARCH)/util/unwind-libdw.o -LIB_OBJS += $(OUTPUT)arch/$(ARCH)/tests/regs_load.o -LIB_OBJS += $(OUTPUT)arch/$(ARCH)/tests/dwarf-unwind.o -endif -LIB_OBJS += $(OUTPUT)arch/$(ARCH)/util/header.o -LIB_OBJS += $(OUTPUT)arch/$(ARCH)/util/tsc.o -LIB_H += arch/$(ARCH)/util/tsc.h -HAVE_KVM_STAT_SUPPORT := 1 -LIB_OBJS += $(OUTPUT)arch/$(ARCH)/util/kvm-stat.o diff --git a/tools/perf/arch/x86/util/Kbuild b/tools/perf/arch/x86/util/Kbuild index adca885..fe382ce 100644 --- a/tools/perf/arch/x86/util/Kbuild +++ b/tools/perf/arch/x86/util/Kbuild @@ -1,6 +1,6 @@ obj-y += header.o obj-y += tsc.o -obj-y += kvm-stat.o +obj-$(CONFIG_BUILTIN_KVM_STAT) += kvm-stat.o obj-$(CONFIG_LIBDWARF) += dwarf-regs.o obj-$(CONFIG_LIBUNWIND) += unwind-libunwind.o obj-$(CONFIG_LIBDWARF_UNWIND) += unwind-libdw.o diff --git a/tools/perf/builtin-cmds.h b/tools/perf/builtin-cmds.h deleted file mode 100644 index 863727f..0000000 --- a/tools/perf/builtin-cmds.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BUILTIN_CMDS_H -#define BUILTIN_CMDS_H - -#include "generated/autoconf.h" - -#endif /* BUILTIN_CMDS_H */ diff --git a/tools/perf/builtin-help.c b/tools/perf/builtin-help.c index fbbbaa4..3e9854c 100644 --- a/tools/perf/builtin-help.c +++ b/tools/perf/builtin-help.c @@ -3,11 +3,11 @@ * * Builtin help command */ +#include "generated/autoconf.h" #include "perf.h" #include "util/cache.h" #include "builtin.h" #include "util/exec_cmd.h" -#include "builtin-cmds.h" #include "common-cmds.h" #include "util/parse-options.h" #include "util/run-command.h" diff --git a/tools/perf/builtin-kvm.c b/tools/perf/builtin-kvm.c index 19a1d17..f564a1f 100644 --- a/tools/perf/builtin-kvm.c +++ b/tools/perf/builtin-kvm.c @@ -30,7 +30,7 @@ #include #include -#ifdef HAVE_KVM_STAT_SUPPORT +#ifdef CONFIG_BUILTIN_KVM_STAT #include #include "util/kvm-stat.h" @@ -1448,7 +1448,7 @@ static int kvm_cmd_stat(const char *file_name, int argc, const char **argv) perf_stat: return cmd_stat(argc, argv, NULL); } -#endif /* HAVE_KVM_STAT_SUPPORT */ +#endif /* CONFIG_BUILTIN_KVM_STAT */ static int __cmd_record(const char *file_name, int argc, const char **argv) { @@ -1570,7 +1570,7 @@ int cmd_kvm(int argc, const char **argv, const char *prefix __maybe_unused) if (!strncmp(argv[0], "buildid-list", 12)) return __cmd_buildid_list(file_name, argc, argv); -#ifdef HAVE_KVM_STAT_SUPPORT +#ifdef CONFIG_BUILTIN_KVM_STAT if (!strncmp(argv[0], "stat", 4)) return kvm_cmd_stat(file_name, argc, argv); #endif diff --git a/tools/perf/builtin-lock.c b/tools/perf/builtin-lock.c index 05c0e1c..5181224 100644 --- a/tools/perf/builtin-lock.c +++ b/tools/perf/builtin-lock.c @@ -1,5 +1,5 @@ +#include "generated/autoconf.h" #include "builtin.h" -#include "builtin-cmds.h" #include "perf.h" #include "util/evlist.h" diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c index e38b021..02b3bfe 100644 --- a/tools/perf/builtin-sched.c +++ b/tools/perf/builtin-sched.c @@ -1,5 +1,5 @@ +#include "generated/autoconf.h" #include "builtin.h" -#include "builtin-cmds.h" #include "perf.h" #include "util/util.h" diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile index b628fa9..7cff9f3 100644 --- a/tools/perf/config/Makefile +++ b/tools/perf/config/Makefile @@ -34,10 +34,14 @@ ifeq ($(ARCH),arm64) LIBUNWIND_LIBS = -lunwind -lunwind-aarch64 endif +ifdef KCONFIG_CONFIG +include $(KCONFIG_CONFIG) +endif + ifeq ($(LIBUNWIND_LIBS),) $(shell $(KCONFIG_SCRIPT) -d CONFIG_LIBUNWIND) else - LIBUNWIND = 1 + config-libunwind = 1 # # For linking with debug library, run like: # @@ -65,10 +69,6 @@ ifdef CONFIG_LIBELF FEATURE_CHECK_LDFLAGS-libdw-dwarf-unwind := $(LIBDW_LDFLAGS) -ldw endif -ifdef KCONFIG_CONFIG -include $(src-perf)/config/Makefile.fix-legacy -endif - # include ARCH specific config -include $(src-perf)/arch/$(ARCH)/Makefile @@ -299,12 +299,12 @@ endif ifdef CONFIG_LIBELF ifeq ($(feature-libelf), 0) ifeq ($(feature-glibc), 1) - LIBC_SUPPORT := 1 + config-libc := 1 endif ifeq ($(BIONIC),1) - LIBC_SUPPORT := 1 + config-libc := 1 endif - ifeq ($(LIBC_SUPPORT),1) + ifeq ($(config-libc),1) msg := $(warning No libelf found, disables 'probe' tool, please install elfutils-libelf-devel/libelf-dev); $(shell $(KCONFIG_SCRIPT) -d CONFIG_LIBELF) $(shell $(KCONFIG_SCRIPT) -e CONFIG_LIBELF_MINIMAL) @@ -317,27 +317,27 @@ ifdef CONFIG_LIBELF endif endif else - LIBELF = 1 + config-libelf = 1 ifdef CONFIG_LIBDWARF ifneq ($(feature-dwarf), 1) msg := $(warning No libdw.h found or old libdw.h found or elfutils is older than 0.138, disables dwarf support. Please install new elfutils-devel/libdw-dev); $(shell $(KCONFIG_SCRIPT) -d CONFIG_LIBDWARF) else - LIBDWARF = 1 + config-libdwarf = 1 endif # Dwarf support ifdef CONFIG_LIBDWARF_UNWIND ifneq ($(feature-libdw-dwarf-unwind),1) msg := $(warning No libdw DWARF unwind found, Please install elfutils-devel/libdw-dev >= 0.158 and/or set CONFIG_LIBDWARF_DIR); $(shell $(KCONFIG_SCRIPT) -d CONFIG_LIBDWARF_UNWIND) else - LIBDWARF_UNWIND = 1 + config-libdwarf-unwind = 1 endif # Dwarf unwind support detected endif # CONFIG_LIBDWARF_UNWIND endif # CONFIG_LIBDWARF endif # libelf support endif # CONFIG_LIBELF -ifeq ($(LIBELF), 1) +ifeq ($(config-libelf), 1) ifdef CONFIG_LIBELF_MMAP ifneq ($(feature-libelf-mmap), 1) @@ -345,16 +345,16 @@ ifeq ($(LIBELF), 1) endif endif - ifdef CONFIG_LIBELF_MMAP + ifdef CONFIG_LIBELF_GETPHDRNUM ifneq ($(feature-libelf-getphdrnum), 1) - $(shell $(KCONFIG_SCRIPT) -d CONFIG_LIBELF_MMAP) + $(shell $(KCONFIG_SCRIPT) -d CONFIG_LIBELF_GETPHDRNUM) endif endif # include ARCH specific config -include $(src-perf)/arch/$(ARCH)/Makefile - ifeq ($(LIBDWARF), 1) + ifeq ($(config-libdwarf), 1) CFLAGS += $(LIBDW_CFLAGS) LDFLAGS += $(LIBDW_LDFLAGS) EXTLIBS += -lelf -ldw @@ -365,17 +365,17 @@ ifdef CONFIG_UNWIND # CONFIG_LIBUNWIND is the default choice; so, if it is not # available, let's try another one ifdef CONFIG_LIBUNWIND - ifeq ($(LIBUNWIND), 1) + ifeq ($(config-libunwind), 1) ifneq ($(feature-libunwind), 1) - LIBUNWIND = 0 + config-libunwind = 0 $(shell $(KCONFIG_SCRIPT) -d CONFIG_LIBUNWIND) - ifeq ($(LIBDWARF_UNWIND), 1) + ifeq ($(config-libdwarf-unwind), 1) msg := $(warning No libunwind found, post unwind will rely on libdwarf-unwind. Please install libunwind-dev[el] >= 1.1); $(shell $(KCONFIG_SCRIPT) -e CONFIG_LIBDWARF_UNWIND) else msg := $(warning No libunwind found, disabling post unwind support. Please install libunwind-dev[el] >= 1.1); $(shell $(KCONFIG_SCRIPT) -d CONFIG_UNWIND) - endif # LIBDWARF_UNWIND + endif # config-libdwarf-unwind else # feature-libunwind OK EXTLIBS += $(LIBUNWIND_LIBS) CFLAGS += $(LIBUNWIND_CFLAGS) @@ -387,7 +387,7 @@ ifdef CONFIG_UNWIND # CONFIG_LIBDWARF_UNWIND is not the default choice (so the user's # choice); so, we disable CONFIG_UNWIND if it is not available ifdef CONFIG_LIBDWARF_UNWIND - ifneq ($(LIBDWARF_UNWIND), 1) + ifneq ($(config-libdwarf-unwind), 1) msg := $(warning Disabling post unwing because (libdwarf-unwind is not available)); $(shell $(KCONFIG_SCRIPT) -d CONFIG_UNWIND) endif @@ -395,7 +395,7 @@ ifdef CONFIG_UNWIND # if libunwind is OK, let's check the option DEBUG_FRAME ifdef CONFIG_LIBUNWIND - ifeq ($(LIBUNWIND), 1) + ifeq ($(config-libunwind), 1) ifeq ($(ARCH),$(filter $(ARCH),arm arm64)) $(call feature_check,libunwind-debug-frame) ifneq ($(feature-libunwind-debug-frame), 1) @@ -412,11 +412,11 @@ ifdef CONFIG_UNWIND dwarf-post-unwind = 0 dwarf-post-unwind-text = BUG -ifeq ($(LIBUNWIND), 1) +ifeq ($(config-libunwind), 1) dwarf-post-unwind := 1 dwarf-post-unwind-text := libunwind else - ifeq ($(LIBDWARF_UNWIND), 1) + ifeq ($(config-libdwarf-unwind), 1) dwarf-post-unwind := 1 dwarf-post-unwind-text := libdw endif @@ -592,33 +592,18 @@ ifdef CONFIG_LIBNUMA endif endif -ifdef HAVE_KVM_STAT_SUPPORT - CFLAGS += -DHAVE_KVM_STAT_SUPPORT +ifdef CONFIG_READ_VDSO32 + $(call feature_check,compile-32) + ifeq ($(feature-compile-32), 0) + $(shell $(KCONFIG_SCRIPT) -d CONFIG_READ_VDSO32) + endif endif -ifeq (${IS_64_BIT}, 1) - ifndef NO_PERF_READ_VDSO32 - $(call feature_check,compile-32) - ifeq ($(feature-compile-32), 1) - CFLAGS += -DHAVE_PERF_READ_VDSO32 - else - NO_PERF_READ_VDSO32 := 1 - endif +ifdef CONFIG_READ_VDSOX32 + $(call feature_check,compile-x32) + ifeq ($(feature-compile-x32), 0) + $(shell $(KCONFIG_SCRIPT) -d CONFIG_READ_VDSOX32) endif - ifneq (${IS_X86_64}, 1) - NO_PERF_READ_VDSOX32 := 1 - endif - ifndef NO_PERF_READ_VDSOX32 - $(call feature_check,compile-x32) - ifeq ($(feature-compile-x32), 1) - CFLAGS += -DHAVE_PERF_READ_VDSOX32 - else - NO_PERF_READ_VDSOX32 := 1 - endif - endif -else - NO_PERF_READ_VDSO32 := 1 - NO_PERF_READ_VDSOX32 := 1 endif # Among the variables below, these: @@ -712,36 +697,9 @@ define feature_print_text_code MSG = $(shell printf '...%30s: %s' $(1) $(2)) endef -PERF_FEATURES := $(foreach feat,$(LIB_FEATURE_TESTS),feature-$(feat)($(feature-$(feat)))) -PERF_FEATURES_FILE := $(shell touch $(OUTPUT)PERF-FEATURES; cat $(OUTPUT)PERF-FEATURES) - -ifeq ($(dwarf-post-unwind),1) - PERF_FEATURES += dwarf-post-unwind($(dwarf-post-unwind-text)) -endif - -# The $(display_lib) controls the default detection message -# output. It's set if: -# - detected features differes from stored features from -# last build (in PERF-FEATURES file) -# - one of the $(LIB_FEATURE_TESTS) is not detected -# - VF is enabled - -ifneq ("$(PERF_FEATURES)","$(PERF_FEATURES_FILE)") - $(shell echo "$(PERF_FEATURES)" > $(OUTPUT)PERF-FEATURES) - display_lib := 1 -endif - -feature_check = $(eval $(feature_check_code)) -define feature_check_code - ifneq ($(feature-$(1)), 1) - display_lib := 1 - endif -endef - -$(foreach feat,$(LIB_FEATURE_TESTS),$(call feature_check,$(feat))) +display_lib := 1 ifeq ($(VF),1) - display_lib := 1 display_vf := 1 endif diff --git a/tools/perf/config/Makefile.fix-config b/tools/perf/config/Makefile.fix-config deleted file mode 100644 index 3f0e33e..0000000 --- a/tools/perf/config/Makefile.fix-config +++ /dev/null @@ -1,6 +0,0 @@ -include $(CONFIG_DETECTED) -include $(KCONFIG_CONFIG) - -CONFIG := $(srctree)/scripts/config --file $(KCONFIG_CONFIG) - -all: diff --git a/tools/perf/config/Makefile.fix-legacy b/tools/perf/config/Makefile.fix-legacy deleted file mode 100644 index 431c9bf..0000000 --- a/tools/perf/config/Makefile.fix-legacy +++ /dev/null @@ -1,2 +0,0 @@ - -include $(KCONFIG_CONFIG) diff --git a/tools/perf/perf.c b/tools/perf/perf.c index b4fd910..69e9b9d 100644 --- a/tools/perf/perf.c +++ b/tools/perf/perf.c @@ -6,8 +6,8 @@ * This is the main hub from which the sub-commands (perf stat, * perf top, perf record, perf report, etc.) are started. */ +#include "generated/autoconf.h" #include "builtin.h" -#include "builtin-cmds.h" #include "util/exec_cmd.h" #include "util/cache.h" diff --git a/tools/perf/util/vdso.c b/tools/perf/util/vdso.c index 5c7dd79..bd2f4f9 100644 --- a/tools/perf/util/vdso.c +++ b/tools/perf/util/vdso.c @@ -8,6 +8,7 @@ #include #include +#include "generated/autoconf.h" #include "vdso.h" #include "util.h" #include "symbol.h" @@ -256,11 +257,11 @@ static int vdso__dso_findnew_compat(struct machine *machine, dso_type = machine__thread_dso_type(machine, thread); -#ifndef HAVE_PERF_READ_VDSO32 +#ifndef CONFIG_READ_VDSO32 if (dso_type == DSO__TYPE_32BIT) return 0; #endif -#ifndef HAVE_PERF_READ_VDSOX32 +#ifndef CONFIG_READ_VDSOX32 if (dso_type == DSO__TYPE_X32BIT) return 0; #endif -- 2.1.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/