diff --git a/pkgs/os-specific/linux/kernel/perf-tools-fix-build-with-arch-x86_64.patch b/pkgs/os-specific/linux/kernel/perf-tools-fix-build-with-arch-x86_64.patch deleted file mode 100644 index 6d1b6835856..00000000000 --- a/pkgs/os-specific/linux/kernel/perf-tools-fix-build-with-arch-x86_64.patch +++ /dev/null @@ -1,255 +0,0 @@ -From bfb560d4184c5371f0628c2473eacfb9b4ee8519 Mon Sep 17 00:00:00 2001 -From: Jiada Wang -Date: Sun, 9 Apr 2017 20:02:37 -0700 -Subject: [PATCH] perf tools: Fix build with ARCH=x86_64 - -With commit: 0a943cb10ce78 (tools build: Add HOSTARCH Makefile variable) -when building for ARCH=x86_64, ARCH=x86_64 is passed to perf instead of -ARCH=x86, so the perf build process searchs header files from -tools/arch/x86_64/include, which doesn't exist. - -The following build failure is seen: - - In file included from util/event.c:2:0: - tools/include/uapi/linux/mman.h:4:27: fatal error: uapi/asm/mman.h: No such file or directory - compilation terminated. - -Fix this issue by using SRCARCH instead of ARCH in perf, just like the -main kernel Makefile and tools/objtool's. - -Signed-off-by: Jiada Wang -Tested-by: Arnaldo Carvalho de Melo -Acked-by: Jiri Olsa -Cc: Alexander Shishkin -Cc: Andi Kleen -Cc: Eugeniu Rosca -Cc: Jan Stancek -Cc: Masami Hiramatsu -Cc: Peter Zijlstra -Cc: Ravi Bangoria -Cc: Rui Teng -Cc: Sukadev Bhattiprolu -Cc: Wang Nan -Fixes: 0a943cb10ce7 ("tools build: Add HOSTARCH Makefile variable") -Link: http://lkml.kernel.org/r/1491793357-14977-2-git-send-email-jiada_wang@mentor.com -Signed-off-by: Arnaldo Carvalho de Melo ---- - tools/perf/Makefile.config | 38 +++++++++++++++++++------------------- - tools/perf/Makefile.perf | 2 +- - tools/perf/arch/Build | 2 +- - tools/perf/pmu-events/Build | 4 ++-- - tools/perf/tests/Build | 2 +- - tools/perf/util/header.c | 2 +- - 6 files changed, 25 insertions(+), 25 deletions(-) - -diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config -index cffdd9cf3ebf..ff375310efe4 100644 ---- a/tools/perf/Makefile.config -+++ b/tools/perf/Makefile.config -@@ -19,18 +19,18 @@ CFLAGS := $(EXTRA_CFLAGS) $(EXTRA_WARNINGS) - - include $(srctree)/tools/scripts/Makefile.arch - --$(call detected_var,ARCH) -+$(call detected_var,SRCARCH) - - NO_PERF_REGS := 1 - - # Additional ARCH settings for ppc --ifeq ($(ARCH),powerpc) -+ifeq ($(SRCARCH),powerpc) - NO_PERF_REGS := 0 - LIBUNWIND_LIBS := -lunwind -lunwind-ppc64 - endif - - # Additional ARCH settings for x86 --ifeq ($(ARCH),x86) -+ifeq ($(SRCARCH),x86) - $(call detected,CONFIG_X86) - ifeq (${IS_64_BIT}, 1) - CFLAGS += -DHAVE_ARCH_X86_64_SUPPORT -DHAVE_SYSCALL_TABLE -I$(OUTPUT)arch/x86/include/generated -@@ -43,12 +43,12 @@ ifeq ($(ARCH),x86) - NO_PERF_REGS := 0 - endif - --ifeq ($(ARCH),arm) -+ifeq ($(SRCARCH),arm) - NO_PERF_REGS := 0 - LIBUNWIND_LIBS = -lunwind -lunwind-arm - endif - --ifeq ($(ARCH),arm64) -+ifeq ($(SRCARCH),arm64) - NO_PERF_REGS := 0 - LIBUNWIND_LIBS = -lunwind -lunwind-aarch64 - endif -@@ -61,7 +61,7 @@ endif - # Disable it on all other architectures in case libdw unwind - # support is detected in system. Add supported architectures - # to the check. --ifneq ($(ARCH),$(filter $(ARCH),x86 arm)) -+ifneq ($(SRCARCH),$(filter $(SRCARCH),x86 arm)) - NO_LIBDW_DWARF_UNWIND := 1 - endif - -@@ -115,9 +115,9 @@ endif - FEATURE_CHECK_CFLAGS-libbabeltrace := $(LIBBABELTRACE_CFLAGS) - FEATURE_CHECK_LDFLAGS-libbabeltrace := $(LIBBABELTRACE_LDFLAGS) -lbabeltrace-ctf - --FEATURE_CHECK_CFLAGS-bpf = -I. -I$(srctree)/tools/include -I$(srctree)/tools/arch/$(ARCH)/include/uapi -I$(srctree)/tools/include/uapi -+FEATURE_CHECK_CFLAGS-bpf = -I. -I$(srctree)/tools/include -I$(srctree)/tools/arch/$(SRCARCH)/include/uapi -I$(srctree)/tools/include/uapi - # include ARCH specific config ---include $(src-perf)/arch/$(ARCH)/Makefile -+-include $(src-perf)/arch/$(SRCARCH)/Makefile - - ifdef PERF_HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET - CFLAGS += -DHAVE_ARCH_REGS_QUERY_REGISTER_OFFSET -@@ -205,12 +205,12 @@ ifeq ($(DEBUG),0) - endif - - CFLAGS += -I$(src-perf)/util/include --CFLAGS += -I$(src-perf)/arch/$(ARCH)/include -+CFLAGS += -I$(src-perf)/arch/$(SRCARCH)/include - CFLAGS += -I$(srctree)/tools/include/uapi - CFLAGS += -I$(srctree)/tools/include/ --CFLAGS += -I$(srctree)/tools/arch/$(ARCH)/include/uapi --CFLAGS += -I$(srctree)/tools/arch/$(ARCH)/include/ --CFLAGS += -I$(srctree)/tools/arch/$(ARCH)/ -+CFLAGS += -I$(srctree)/tools/arch/$(SRCARCH)/include/uapi -+CFLAGS += -I$(srctree)/tools/arch/$(SRCARCH)/include/ -+CFLAGS += -I$(srctree)/tools/arch/$(SRCARCH)/ - - # $(obj-perf) for generated common-cmds.h - # $(obj-perf)/util for generated bison/flex headers -@@ -321,7 +321,7 @@ ifndef NO_LIBELF - - ifndef NO_DWARF - ifeq ($(origin PERF_HAVE_DWARF_REGS), undefined) -- msg := $(warning DWARF register mappings have not been defined for architecture $(ARCH), DWARF support disabled); -+ msg := $(warning DWARF register mappings have not been defined for architecture $(SRCARCH), DWARF support disabled); - NO_DWARF := 1 - else - CFLAGS += -DHAVE_DWARF_SUPPORT $(LIBDW_CFLAGS) -@@ -346,7 +346,7 @@ ifndef NO_LIBELF - CFLAGS += -DHAVE_BPF_PROLOGUE - $(call detected,CONFIG_BPF_PROLOGUE) - else -- msg := $(warning BPF prologue is not supported by architecture $(ARCH), missing regs_query_register_offset()); -+ msg := $(warning BPF prologue is not supported by architecture $(SRCARCH), missing regs_query_register_offset()); - endif - else - msg := $(warning DWARF support is off, BPF prologue is disabled); -@@ -372,7 +372,7 @@ ifdef PERF_HAVE_JITDUMP - endif - endif - --ifeq ($(ARCH),powerpc) -+ifeq ($(SRCARCH),powerpc) - ifndef NO_DWARF - CFLAGS += -DHAVE_SKIP_CALLCHAIN_IDX - endif -@@ -453,7 +453,7 @@ else - endif - - ifndef NO_LOCAL_LIBUNWIND -- ifeq ($(ARCH),$(filter $(ARCH),arm arm64)) -+ ifeq ($(SRCARCH),$(filter $(SRCARCH),arm arm64)) - $(call feature_check,libunwind-debug-frame) - ifneq ($(feature-libunwind-debug-frame), 1) - msg := $(warning No debug_frame support found in libunwind); -@@ -717,7 +717,7 @@ ifeq (${IS_64_BIT}, 1) - NO_PERF_READ_VDSO32 := 1 - endif - endif -- ifneq ($(ARCH), x86) -+ ifneq ($(SRCARCH), x86) - NO_PERF_READ_VDSOX32 := 1 - endif - ifndef NO_PERF_READ_VDSOX32 -@@ -746,7 +746,7 @@ ifdef LIBBABELTRACE - endif - - ifndef NO_AUXTRACE -- ifeq ($(ARCH),x86) -+ ifeq ($(SRCARCH),x86) - ifeq ($(feature-get_cpuid), 0) - msg := $(warning Your gcc lacks the __get_cpuid() builtin, disables support for auxtrace/Intel PT, please install a newer gcc); - NO_AUXTRACE := 1 -@@ -793,7 +793,7 @@ sysconfdir = $(prefix)/etc - ETC_PERFCONFIG = etc/perfconfig - endif - ifndef lib --ifeq ($(ARCH)$(IS_64_BIT), x861) -+ifeq ($(SRCARCH)$(IS_64_BIT), x861) - lib = lib64 - else - lib = lib -diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf -index ef52d1e3d431..2b92ffef554b 100644 ---- a/tools/perf/Makefile.perf -+++ b/tools/perf/Makefile.perf -@@ -192,7 +192,7 @@ endif - - ifeq ($(config),0) - include $(srctree)/tools/scripts/Makefile.arch ---include arch/$(ARCH)/Makefile -+-include arch/$(SRCARCH)/Makefile - endif - - # The FEATURE_DUMP_EXPORT holds location of the actual -diff --git a/tools/perf/arch/Build b/tools/perf/arch/Build -index 109eb75cf7de..d9b6af837c7d 100644 ---- a/tools/perf/arch/Build -+++ b/tools/perf/arch/Build -@@ -1,2 +1,2 @@ - libperf-y += common.o --libperf-y += $(ARCH)/ -+libperf-y += $(SRCARCH)/ -diff --git a/tools/perf/pmu-events/Build b/tools/perf/pmu-events/Build -index 9213a1273697..999a4e878162 100644 ---- a/tools/perf/pmu-events/Build -+++ b/tools/perf/pmu-events/Build -@@ -2,7 +2,7 @@ hostprogs := jevents - - jevents-y += json.o jsmn.o jevents.o - pmu-events-y += pmu-events.o --JDIR = pmu-events/arch/$(ARCH) -+JDIR = pmu-events/arch/$(SRCARCH) - JSON = $(shell [ -d $(JDIR) ] && \ - find $(JDIR) -name '*.json' -o -name 'mapfile.csv') - # -@@ -10,4 +10,4 @@ JSON = $(shell [ -d $(JDIR) ] && \ - # directory and create tables in pmu-events.c. - # - $(OUTPUT)pmu-events/pmu-events.c: $(JSON) $(JEVENTS) -- $(Q)$(call echo-cmd,gen)$(JEVENTS) $(ARCH) pmu-events/arch $(OUTPUT)pmu-events/pmu-events.c $(V) -+ $(Q)$(call echo-cmd,gen)$(JEVENTS) $(SRCARCH) pmu-events/arch $(OUTPUT)pmu-events/pmu-events.c $(V) -diff --git a/tools/perf/tests/Build b/tools/perf/tests/Build -index 8a4ce492f7b2..546250a273e7 100644 ---- a/tools/perf/tests/Build -+++ b/tools/perf/tests/Build -@@ -71,7 +71,7 @@ $(OUTPUT)tests/llvm-src-relocation.c: tests/bpf-script-test-relocation.c tests/B - $(Q)sed -e 's/"/\\"/g' -e 's/\(.*\)/"\1\\n"/g' $< >> $@ - $(Q)echo ';' >> $@ - --ifeq ($(ARCH),$(filter $(ARCH),x86 arm arm64 powerpc)) -+ifeq ($(SRCARCH),$(filter $(SRCARCH),x86 arm arm64 powerpc)) - perf-$(CONFIG_DWARF_UNWIND) += dwarf-unwind.o - endif - -diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c -index 5337f49db361..28bdb48357f0 100644 ---- a/tools/perf/util/header.c -+++ b/tools/perf/util/header.c -@@ -826,7 +826,7 @@ static int write_group_desc(int fd, struct perf_header *h __maybe_unused, - - /* - * default get_cpuid(): nothing gets recorded -- * actual implementation must be in arch/$(ARCH)/util/header.c -+ * actual implementation must be in arch/$(SRCARCH)/util/header.c - */ - int __weak get_cpuid(char *buffer __maybe_unused, size_t sz __maybe_unused) - { --- -2.15.1 - diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix index 96927bf4be9..1936f6578b6 100644 --- a/pkgs/os-specific/linux/kernel/perf.nix +++ b/pkgs/os-specific/linux/kernel/perf.nix @@ -46,9 +46,6 @@ stdenv.mkDerivation { --prefix PATH : "${binutils}/bin" ''; - - patches = optional (hasPrefix "4.9" kernel.version) [ ./perf-tools-fix-build-with-arch-x86_64.patch ]; - meta = { homepage = https://perf.wiki.kernel.org/; description = "Linux tools to profile with performance counters";