Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1616608 > unrolled thread

[PATCH v3 1/1] perf tools: fix perf build with ARCH=x86_64

Started by<jiada_wang@mentor.com>
First post2017-04-05 08:30 +0200
Last post2017-04-10 09:50 +0200
Articles 4 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH v3 1/1] perf tools: fix perf build with ARCH=x86_64 <jiada_wang@mentor.com> - 2017-04-05 08:30 +0200
    Re: [PATCH v3 1/1] perf tools: fix perf build with ARCH=x86_64 Jiri Olsa <jolsa@redhat.com> - 2017-04-09 19:30 +0200
      Re: [PATCH v3 1/1] perf tools: fix perf build with ARCH=x86_64 Jiada Wang <jiada_wang@mentor.com> - 2017-04-10 04:50 +0200
        Re: [PATCH v3 1/1] perf tools: fix perf build with ARCH=x86_64 Jiri Olsa <jolsa@redhat.com> - 2017-04-10 09:50 +0200

#1616608 — [PATCH v3 1/1] perf tools: fix perf build with ARCH=x86_64

From<jiada_wang@mentor.com>
Date2017-04-05 08:30 +0200
Subject[PATCH v3 1/1] perf tools: fix perf build with ARCH=x86_64
Message-ID<tsMC6-7pf-27@gated-at.bofh.it>
From: Jiada Wang <jiada_wang@mentor.com>

with commit: 0a943cb10ce78 (tools build: Add HOSTARCH Makefile variable)
the following build failure is seen when build with ARCH=x86_64

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 use SRCARCH instead of ARCH in perf.

Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
---
 tools/perf/Makefile.config | 38 +++++++++++++++++++-------------------
 tools/perf/Makefile.perf   |  2 +-
 tools/perf/arch/Build      |  2 +-
 tools/perf/tests/Build     |  2 +-
 4 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
index 76c84f0..123fd40 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
@@ -213,12 +213,12 @@ ifeq ($(DEBUG),0)
 endif
 
 INC_FLAGS += -I$(src-perf)/util/include
-INC_FLAGS += -I$(src-perf)/arch/$(ARCH)/include
+INC_FLAGS += -I$(src-perf)/arch/$(SRCARCH)/include
 INC_FLAGS += -I$(srctree)/tools/include/uapi
 INC_FLAGS += -I$(srctree)/tools/include/
-INC_FLAGS += -I$(srctree)/tools/arch/$(ARCH)/include/uapi
-INC_FLAGS += -I$(srctree)/tools/arch/$(ARCH)/include/
-INC_FLAGS += -I$(srctree)/tools/arch/$(ARCH)/
+INC_FLAGS += -I$(srctree)/tools/arch/$(SRCARCH)/include/uapi
+INC_FLAGS += -I$(srctree)/tools/arch/$(SRCARCH)/include/
+INC_FLAGS += -I$(srctree)/tools/arch/$(SRCARCH)/
 
 # $(obj-perf)      for generated common-cmds.h
 # $(obj-perf)/util for generated bison/flex headers
@@ -332,7 +332,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)
@@ -357,7 +357,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);
@@ -383,7 +383,7 @@ ifdef PERF_HAVE_JITDUMP
   endif
 endif
 
-ifeq ($(ARCH),powerpc)
+ifeq ($(SRCARCH),powerpc)
   ifndef NO_DWARF
     CFLAGS += -DHAVE_SKIP_CALLCHAIN_IDX
   endif
@@ -464,7 +464,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);
@@ -728,7 +728,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
@@ -757,7 +757,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
@@ -860,7 +860,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 8bb16aa..4080f45 100644
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@ -226,7 +226,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 109eb75..d9b6af8 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/tests/Build b/tools/perf/tests/Build
index 6676c2d..651e77a 100644
--- a/tools/perf/tests/Build
+++ b/tools/perf/tests/Build
@@ -73,7 +73,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
 
-- 
2.7.4

[toc] | [next] | [standalone]


#1619522

FromJiri Olsa <jolsa@redhat.com>
Date2017-04-09 19:30 +0200
Message-ID<tuoOZ-5US-1@gated-at.bofh.it>
In reply to#1616608
On Tue, Apr 04, 2017 at 11:25:44PM -0700, jiada_wang@mentor.com wrote:
> From: Jiada Wang <jiada_wang@mentor.com>
> 
> with commit: 0a943cb10ce78 (tools build: Add HOSTARCH Makefile variable)
> the following build failure is seen when build with ARCH=x86_64

is that described somewhere as a valid building interface?
I never use it so I have no idea.. would you describe your
build env/process?

> 
> 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 use SRCARCH instead of ARCH in perf.

please describe also the the issue itself in the changelog, not just the fix


so objtool is using SRCARCH this way, I guess it's fine

if we go this way, you also need to change the pmu-events/Build
and there's some comment using $(ARCH) in util/header.c

thanks,
jirka

[toc] | [prev] | [next] | [standalone]


#1619605

FromJiada Wang <jiada_wang@mentor.com>
Date2017-04-10 04:50 +0200
Message-ID<tuxyV-36J-3@gated-at.bofh.it>
In reply to#1619522
Hello Jiri

On 04/09/2017 10:27 AM, Jiri Olsa wrote:
> On Tue, Apr 04, 2017 at 11:25:44PM -0700, jiada_wang@mentor.com wrote:
>> From: Jiada Wang<jiada_wang@mentor.com>
>>
>> with commit: 0a943cb10ce78 (tools build: Add HOSTARCH Makefile variable)
>> the following build failure is seen when build with ARCH=x86_64
> is that described somewhere as a valid building interface?
> I never use it so I have no idea.. would you describe your
> build env/process?
I used "ARCH=x86_64 make -C tools perf V=1" to build perf for x86_64 ARCH.

>> 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 use SRCARCH instead of ARCH in perf.
> please describe also the the issue itself in the changelog, not just the fix
I will update changelog with detail information about the issue in v4
>
>
> so objtool is using SRCARCH this way, I guess it's fine
>
> if we go this way, you also need to change the pmu-events/Build
> and there's some comment using $(ARCH) in util/header.c
will update pmu-events/Build in v4
> thanks,
> jirka
Thanks,
Jiada

[toc] | [prev] | [next] | [standalone]


#1619689

FromJiri Olsa <jolsa@redhat.com>
Date2017-04-10 09:50 +0200
Message-ID<tuCff-6dm-9@gated-at.bofh.it>
In reply to#1619605
On Sun, Apr 09, 2017 at 07:43:15PM -0700, Jiada Wang wrote:
> Hello Jiri
> 
> On 04/09/2017 10:27 AM, Jiri Olsa wrote:
> > On Tue, Apr 04, 2017 at 11:25:44PM -0700, jiada_wang@mentor.com wrote:
> > > From: Jiada Wang<jiada_wang@mentor.com>
> > > 
> > > with commit: 0a943cb10ce78 (tools build: Add HOSTARCH Makefile variable)
> > > the following build failure is seen when build with ARCH=x86_64
> > is that described somewhere as a valid building interface?
> > I never use it so I have no idea.. would you describe your
> > build env/process?
> I used "ARCH=x86_64 make -C tools perf V=1" to build perf for x86_64 ARCH.

you're on x86 machine right? I don't see CROSS_COMPILE being used..

what's the purpose of the ARCH var setup then?

> 
> > > 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 use SRCARCH instead of ARCH in perf.
> > please describe also the the issue itself in the changelog, not just the fix
> I will update changelog with detail information about the issue in v4
> > 
> > 
> > so objtool is using SRCARCH this way, I guess it's fine
> > 
> > if we go this way, you also need to change the pmu-events/Build
> > and there's some comment using $(ARCH) in util/header.c
> will update pmu-events/Build in v4

I'll check

thanks,
jirka

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web