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

2017-04-17 Thread Jiri Olsa
On Mon, Apr 17, 2017 at 02:31:28AM -0700, Jiada Wang wrote:
> On 04/10/2017 12:44 AM, Jiri Olsa wrote:
> > 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_w...@mentor.com wrote:
> > > > > From: Jiada Wang
> > > > > 
> > > > > 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?
> Sorry for late response.
> 
> Yes, I am on x86 machine, and want to build for x86_64,
> I didn't mention CROSS_COMPILE option in my last reply is because no
> matter what 'CROSS_COMPILE' is, the issue can be reproduced when
> ARCH=X86_64.
> 
> The full command I used to build perf, is somewhat near to
> make -C tools perf V=2 ARCH=x86_64 CROSS_COMPILE=i686-pc-linux-gnc-g
> CC=i686-pc-linux-gnc-gcc

ook, I think I've already acked the v4 you sent

thanks,
jirka


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

2017-04-17 Thread Jiri Olsa
On Mon, Apr 17, 2017 at 02:31:28AM -0700, Jiada Wang wrote:
> On 04/10/2017 12:44 AM, Jiri Olsa wrote:
> > 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_w...@mentor.com wrote:
> > > > > From: Jiada Wang
> > > > > 
> > > > > 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?
> Sorry for late response.
> 
> Yes, I am on x86 machine, and want to build for x86_64,
> I didn't mention CROSS_COMPILE option in my last reply is because no
> matter what 'CROSS_COMPILE' is, the issue can be reproduced when
> ARCH=X86_64.
> 
> The full command I used to build perf, is somewhat near to
> make -C tools perf V=2 ARCH=x86_64 CROSS_COMPILE=i686-pc-linux-gnc-g
> CC=i686-pc-linux-gnc-gcc

ook, I think I've already acked the v4 you sent

thanks,
jirka


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

2017-04-17 Thread Jiada Wang

On 04/10/2017 12:44 AM, Jiri Olsa wrote:

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_w...@mentor.com wrote:

From: Jiada Wang

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?

Sorry for late response.

Yes, I am on x86 machine, and want to build for x86_64,
I didn't mention CROSS_COMPILE option in my last reply is because no
matter what 'CROSS_COMPILE' is, the issue can be reproduced when 
ARCH=X86_64.


The full command I used to build perf, is somewhat near to
make -C tools perf V=2 ARCH=x86_64 CROSS_COMPILE=i686-pc-linux-gnc-g 
CC=i686-pc-linux-gnc-gcc


Thanks,
Jiada




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




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

2017-04-17 Thread Jiada Wang

On 04/10/2017 12:44 AM, Jiri Olsa wrote:

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_w...@mentor.com wrote:

From: Jiada Wang

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?

Sorry for late response.

Yes, I am on x86 machine, and want to build for x86_64,
I didn't mention CROSS_COMPILE option in my last reply is because no
matter what 'CROSS_COMPILE' is, the issue can be reproduced when 
ARCH=X86_64.


The full command I used to build perf, is somewhat near to
make -C tools perf V=2 ARCH=x86_64 CROSS_COMPILE=i686-pc-linux-gnc-g 
CC=i686-pc-linux-gnc-gcc


Thanks,
Jiada




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




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

2017-04-10 Thread Jiri Olsa
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_w...@mentor.com wrote:
> > > From: Jiada Wang
> > > 
> > > 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


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

2017-04-10 Thread Jiri Olsa
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_w...@mentor.com wrote:
> > > From: Jiada Wang
> > > 
> > > 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


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

2017-04-09 Thread Jiada Wang

Hello Jiri

On 04/09/2017 10:27 AM, Jiri Olsa wrote:

On Tue, Apr 04, 2017 at 11:25:44PM -0700, jiada_w...@mentor.com wrote:

From: Jiada Wang

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


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

2017-04-09 Thread Jiada Wang

Hello Jiri

On 04/09/2017 10:27 AM, Jiri Olsa wrote:

On Tue, Apr 04, 2017 at 11:25:44PM -0700, jiada_w...@mentor.com wrote:

From: Jiada Wang

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


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

2017-04-09 Thread Jiri Olsa
On Tue, Apr 04, 2017 at 11:25:44PM -0700, jiada_w...@mentor.com wrote:
> From: Jiada Wang 
> 
> 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


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

2017-04-09 Thread Jiri Olsa
On Tue, Apr 04, 2017 at 11:25:44PM -0700, jiada_w...@mentor.com wrote:
> From: Jiada Wang 
> 
> 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


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

2017-04-05 Thread jiada_wang
From: Jiada Wang 

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 
---
 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 

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

2017-04-05 Thread jiada_wang
From: Jiada Wang 

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 
---
 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 :=