* [PATCH v3 0/1] fix perf build issue when ARCH=x86_64
@ 2017-04-05 6:25 jiada_wang
2017-04-05 6:25 ` [PATCH v3 1/1] perf tools: fix perf build with ARCH=x86_64 jiada_wang
0 siblings, 1 reply; 7+ messages in thread
From: jiada_wang @ 2017-04-05 6:25 UTC (permalink / raw)
To: peterz, mingo, acme, alexander.shishkin
Cc: jolsa, wangnan0, ravi.bangoria, mhiramat, linux-kernel, erosca,
Jiada Wang
From: Jiada Wang <jiada_wang@mentor.com>
Changes from v3:
replace ARCH with SRCARCH in perf
Changes from v2:
added function purify-arch, transforms both HOSTARCH and ARCH
to supported values
Jiada Wang (1):
perf tools: fix perf build with ARCH=x86_64
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(-)
--
2.7.4
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v3 1/1] perf tools: fix perf build with ARCH=x86_64
2017-04-05 6:25 [PATCH v3 0/1] fix perf build issue when ARCH=x86_64 jiada_wang
@ 2017-04-05 6:25 ` jiada_wang
2017-04-09 17:27 ` Jiri Olsa
0 siblings, 1 reply; 7+ messages in thread
From: jiada_wang @ 2017-04-05 6:25 UTC (permalink / raw)
To: peterz, mingo, acme, alexander.shishkin
Cc: jolsa, wangnan0, ravi.bangoria, mhiramat, linux-kernel, erosca,
Jiada Wang
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
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v3 1/1] perf tools: fix perf build with ARCH=x86_64
2017-04-05 6:25 ` [PATCH v3 1/1] perf tools: fix perf build with ARCH=x86_64 jiada_wang
@ 2017-04-09 17:27 ` Jiri Olsa
2017-04-10 2:43 ` Jiada Wang
0 siblings, 1 reply; 7+ messages in thread
From: Jiri Olsa @ 2017-04-09 17:27 UTC (permalink / raw)
To: jiada_wang
Cc: peterz, mingo, acme, alexander.shishkin, jolsa, wangnan0,
ravi.bangoria, mhiramat, linux-kernel, erosca
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 1/1] perf tools: fix perf build with ARCH=x86_64
2017-04-09 17:27 ` Jiri Olsa
@ 2017-04-10 2:43 ` Jiada Wang
2017-04-10 7:44 ` Jiri Olsa
0 siblings, 1 reply; 7+ messages in thread
From: Jiada Wang @ 2017-04-10 2:43 UTC (permalink / raw)
To: Jiri Olsa
Cc: peterz, mingo, acme, alexander.shishkin, jolsa, wangnan0,
ravi.bangoria, mhiramat, linux-kernel, erosca
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 1/1] perf tools: fix perf build with ARCH=x86_64
2017-04-10 2:43 ` Jiada Wang
@ 2017-04-10 7:44 ` Jiri Olsa
2017-04-17 9:31 ` Jiada Wang
0 siblings, 1 reply; 7+ messages in thread
From: Jiri Olsa @ 2017-04-10 7:44 UTC (permalink / raw)
To: Jiada Wang
Cc: peterz, mingo, acme, alexander.shishkin, jolsa, wangnan0,
ravi.bangoria, mhiramat, linux-kernel, erosca
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 1/1] perf tools: fix perf build with ARCH=x86_64
2017-04-10 7:44 ` Jiri Olsa
@ 2017-04-17 9:31 ` Jiada Wang
2017-04-17 18:30 ` Jiri Olsa
0 siblings, 1 reply; 7+ messages in thread
From: Jiada Wang @ 2017-04-17 9:31 UTC (permalink / raw)
To: Jiri Olsa
Cc: peterz, mingo, acme, alexander.shishkin, jolsa, wangnan0,
ravi.bangoria, mhiramat, linux-kernel, erosca
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_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?
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 1/1] perf tools: fix perf build with ARCH=x86_64
2017-04-17 9:31 ` Jiada Wang
@ 2017-04-17 18:30 ` Jiri Olsa
0 siblings, 0 replies; 7+ messages in thread
From: Jiri Olsa @ 2017-04-17 18:30 UTC (permalink / raw)
To: Jiada Wang
Cc: peterz, mingo, acme, alexander.shishkin, jolsa, wangnan0,
ravi.bangoria, mhiramat, linux-kernel, erosca
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_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?
> 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
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2017-04-17 18:31 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-05 6:25 [PATCH v3 0/1] fix perf build issue when ARCH=x86_64 jiada_wang
2017-04-05 6:25 ` [PATCH v3 1/1] perf tools: fix perf build with ARCH=x86_64 jiada_wang
2017-04-09 17:27 ` Jiri Olsa
2017-04-10 2:43 ` Jiada Wang
2017-04-10 7:44 ` Jiri Olsa
2017-04-17 9:31 ` Jiada Wang
2017-04-17 18:30 ` Jiri Olsa
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).