From: Naveen N. Rao <hidden> Date: 2015-12-14 10:51:52
perf build is currently (v4.4-rc5) broken on powerpc:
bpf.c:28:4: error: #error __NR_bpf not defined. libbpf does not support
your arch.
# error __NR_bpf not defined. libbpf does not support your arch.
^
Fix this by including tools/perf/config/Makefile.arch for the proper
$ARCH macro. While at it, remove redundant LP64 macro definition.
Signed-off-by: Naveen N. Rao <redacted>
---
tools/lib/bpf/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Support basic PowerPC compiling.
Checks BPF syscall number, turn off libbpf building on platform doesn't
support sys_bpf instead of blocking compiling.
Reported-by: Naveen N. Rao <redacted>
Signed-off-by: Wang Nan <redacted>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Alexei Starovoitov <redacted>
Cc: Jiri Olsa <redacted>
Cc: Sukadev Bhattiprolu <redacted>
---
Hi Naveen,
I don't have PPC environtment. Could you please help me check this patch?
Thank you.
---
tools/build/feature/test-bpf.c | 23 ++++++++++++++++++++++-
tools/lib/bpf/bpf.c | 6 ++++--
2 files changed, 26 insertions(+), 3 deletions(-)
Hi Naveen,
On 2015/12/14 18:50, Naveen N. Rao wrote:
quoted hunk
perf build is currently (v4.4-rc5) broken on powerpc:
bpf.c:28:4: error: #error __NR_bpf not defined. libbpf does not support
your arch.
# error __NR_bpf not defined. libbpf does not support your arch.
^
Fix this by including tools/perf/config/Makefile.arch for the proper
$ARCH macro. While at it, remove redundant LP64 macro definition.
Signed-off-by: Naveen N. Rao <redacted>
---
tools/lib/bpf/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Are you doing cross compiling? In this case you should provide an 'ARCH'
to make
through cmdline. For example, this is how yocto help me build perf on
aarch64:
$ make -C /patch/to/kernel/tools/perf O=/path/to/output \
CROSS_COMPILE=aarch64-oe-linux- ARCH=arm64 \
CC=aarch64-oe-linux-gcc --sysroot=...
AR=aarch64-oe-linux-ar ...
If you include Makefile.arch, I think you are seeking for a 'uname -m'
result,
then you are not doing cross compiling, right? In this case what you
need is providing
a __NR_bpf entry for your platform, because in some cases that value is
overrided because
we have
$ find ./tools/ -name "unistd*"
./tools/perf/util/include/asm/unistd_64.h
./tools/perf/util/include/asm/unistd_32.h
You can find the reason of these two files through:
eae7a755ee81129370c8f555b0d5672e6673735d
I posted a patch by replying this mail. I think you can find it through
[1] soon.
I don't have PPC environment to check it. Could you please help me check
this patch
in your environment?
[1]
http://lkml.kernel.org/g/1450092932-123588-1-git-send-email-wangnan0@huawei.com
Support basic PowerPC compiling.
Checks BPF syscall number, turn off libbpf building on platform doesn't
support sys_bpf instead of blocking compiling.
Reported-by: Naveen N. Rao <redacted>
Signed-off-by: Wang Nan <redacted>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Alexei Starovoitov <redacted>
Cc: Jiri Olsa <redacted>
Cc: Sukadev Bhattiprolu <redacted>
---
v1 -> v2: __powerpc64__ -> __powerpc__. Code is from
./tools/perf/perf-sys.h, but not tested yet.
Naveen, please help me try this patch on PPC.
Thank you.
---
tools/build/feature/test-bpf.c | 23 ++++++++++++++++++++++-
tools/lib/bpf/bpf.c | 6 ++++--
2 files changed, 26 insertions(+), 3 deletions(-)
From: Naveen N. Rao <hidden> Date: 2015-12-14 15:18:49
On 2015/12/14 07:53PM, Wang Nan wrote:
Hi Naveen,
On 2015/12/14 18:50, Naveen N. Rao wrote:
quoted
perf build is currently (v4.4-rc5) broken on powerpc:
bpf.c:28:4: error: #error __NR_bpf not defined. libbpf does not support
your arch.
# error __NR_bpf not defined. libbpf does not support your arch.
^
Fix this by including tools/perf/config/Makefile.arch for the proper
$ARCH macro. While at it, remove redundant LP64 macro definition.
Signed-off-by: Naveen N. Rao <redacted>
---
tools/lib/bpf/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Are you doing cross compiling? In this case you should provide an 'ARCH' to
make
through cmdline. For example, this is how yocto help me build perf on
aarch64:
$ make -C /patch/to/kernel/tools/perf O=/path/to/output \
CROSS_COMPILE=aarch64-oe-linux- ARCH=arm64 \
CC=aarch64-oe-linux-gcc --sysroot=... AR=aarch64-oe-linux-ar ...
I am not cross-compiling - the build error was with trying to build perf
on ppc64le. Even with cross-compiling (and explicitly specifying $ARCH),
Makefile.arch should still work.
If you include Makefile.arch, I think you are seeking for a 'uname -m'
result,
then you are not doing cross compiling, right? In this case what you need is
providing
a __NR_bpf entry for your platform, because in some cases that value is
overrided because
we have
$ find ./tools/ -name "unistd*"
./tools/perf/util/include/asm/unistd_64.h
./tools/perf/util/include/asm/unistd_32.h
You can find the reason of these two files through:
eae7a755ee81129370c8f555b0d5672e6673735d
I thought of just defining __NR_bpf for powerpc, but it will still break
perf build for most other architectures. Moreover,
tools/lib/bpf/Makefile explicitly includes headers from the linux kernel
build tree (rather than the system headers) and I thought this was
specifically to pull in __NR_bpf, among others -- just that we were not
properly including the right headers since $ARCH was not defined. More
specifically:
$ make V=1
<snip>
gcc -Wp,-MD,./.bpf.o.d,-MT,bpf.o -g -Wall -DHAVE_LIBELF_MMAP_SUPPORT
-DHAVE_ELF_GETPHDRNUM_SUPPORT -Wbad-function-cast
-Wdeclaration-after-statement -Wformat-security -Wformat-y2k
-Winit-self -Wmissing-declarations -Wmissing-prototypes
-Wnested-externs -Wno-system-headers -Wold-style-definition -Wpacked
-Wredundant-decls -Wshadow -Wstrict-aliasing=3 -Wstrict-prototypes
-Wswitch-default -Wswitch-enum -Wundef -Wwrite-strings -Wformat
-Werror -Wall -fPIC -I. -I/root/linux/tools/include
-I/root/linux/arch//include/uapi -I/root/linux/include/uapi
-D"BUILD_STR(s)=#s" -c -o bpf.o bpf.c
Notice // in -I/root/linux/arch//include/uapi. Hence, my patch to ensure
the right headers get included.
I'm thinking the explicit __NR_bpf definitions are only needed for x86
-- since I don't see the definitions in the kernel tree headers.
Regards,
Naveen
From: Naveen N. Rao <hidden> Date: 2015-12-14 15:44:19
On 2015/12/14 11:57AM, Wang Nan wrote:
Support basic PowerPC compiling.
Checks BPF syscall number, turn off libbpf building on platform doesn't
support sys_bpf instead of blocking compiling.
Reported-by: Naveen N. Rao <redacted>
Signed-off-by: Wang Nan <redacted>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Alexei Starovoitov <redacted>
Cc: Jiri Olsa <redacted>
Cc: Sukadev Bhattiprolu <redacted>
---
v1 -> v2: __powerpc64__ -> __powerpc__. Code is from
./tools/perf/perf-sys.h, but not tested yet.
Naveen, please help me try this patch on PPC.
I think we should drop __aarch64__ and __powerpc__ here since this
builds fine on ppc without these hunks.
quoted hunk
+# else
+# error __NR_bpf not defined. libbpf does not support your arch.
+# endif
+#endif
int main(void)
{
union bpf_attr attr;
+ /* Check fields in attr */
attr.prog_type = BPF_PROG_TYPE_KPROBE;
attr.insn_cnt = 0;
attr.insns = 0;
@@ -14,5 +31,9 @@ int main(void) attr.kern_version = 0; attr = attr;- return 0;+ /*+ * Test existance of __NR_bpf and BPF_PROG_LOAD.
Nit... 'for existence'.
quoted hunk
+ * This call should fail if we run the testcase.
+ */
+ return syscall(__NR_bpf, BPF_PROG_LOAD, attr, sizeof(attr));
}
And, I think we should drop this hunk, but include the patch I sent.
That ensures that the proper headers from the kernel source tree are
included, so there won't be a need to explicitly define __NR_bpf for
each architecture.
Regards,
Naveen
From: "Naveen N. Rao" <redacted>
perf build is currently (v4.4-rc5) broken on powerpc:
bpf.c:28:4: error: #error __NR_bpf not defined. libbpf does not support
your arch.
# error __NR_bpf not defined. libbpf does not support your arch.
^
Fix this by including tools/perf/config/Makefile.arch for the proper
$ARCH macro. While at it, remove redundant LP64 macro definition.
Signed-off-by: Naveen N. Rao <redacted>
Signed-off-by: Wang Nan <redacted>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Jiri Olsa <redacted>
Cc: Sukadev Bhattiprolu <redacted>
---
tools/lib/bpf/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
After this patch other directories can use this architecture detector
without directly including it from perf's directory. Libbpf would
utilize it to get proper $(ARCH) so it can receive correct uapi include
directory.
Signed-off-by: Wang Nan <redacted>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Naveen N. Rao <redacted>
Cc: Jiri Olsa <redacted>
Cc: Sukadev Bhattiprolu <redacted>
---
tools/perf/config/Makefile | 2 +-
tools/perf/tests/make | 2 +-
tools/{perf/config => scripts}/Makefile.arch | 0
3 files changed, 2 insertions(+), 2 deletions(-)
rename tools/{perf/config => scripts}/Makefile.arch (100%)
@@ -12,7 +12,7 @@ endif else PERF := .-include config/Makefile.arch+include $(srctree)/scripts/Makefile.arch # FIXME looks like x86 is the only arch running tests ;-) # we need some IS_(32/64) flag to make this generic
diff --git a/tools/perf/config/Makefile.arch b/tools/scripts/Makefile.archsimilarity index 100%rename from tools/perf/config/Makefile.archrename to tools/scripts/Makefile.arch
--
1.8.3.4
Hi Naveen,
Now I know your problem is in native building and the reason is
missing proper $(ARCH). I think other than that there's another problem
in libbpf's building: if your problem is unable to compile libbpf,
feature checker should find it and set NO_LIBBPF=1 for perf, so perf
building won't be blocked, only BPF related features should be turned
off. Also, I think including Makefile.arch from tools/scripts would be
better, because libbpf is at the same level with perf. So I separate
them into 3 patches. Please help me test it on PowerPC.
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Jiri Olsa <redacted>
Cc: Naveen N. Rao <redacted>
Cc: Sukadev Bhattiprolu <redacted>
Naveen N. Rao (1):
perf: bpf: Fix build breakage due to libbpf
Wang Nan (2):
perf tools: Fix PowerPC native building
tools: Move Makefile.arch from perf/config to tools/scripts
tools/build/feature/test-bpf.c | 20 +++++++++++++++++++-
tools/lib/bpf/Makefile | 3 ++-
tools/lib/bpf/bpf.c | 4 ++--
tools/perf/config/Makefile | 2 +-
tools/perf/tests/make | 2 +-
tools/{perf/config => scripts}/Makefile.arch | 0
6 files changed, 25 insertions(+), 6 deletions(-)
rename tools/{perf/config => scripts}/Makefile.arch (100%)
--
1.8.3.4
From: Jiri Olsa <hidden> Date: 2015-12-15 08:05:21
On Tue, Dec 15, 2015 at 03:35:54AM +0000, Wang Nan wrote:
Hi Naveen,
Now I know your problem is in native building and the reason is
missing proper $(ARCH). I think other than that there's another problem
in libbpf's building: if your problem is unable to compile libbpf,
feature checker should find it and set NO_LIBBPF=1 for perf, so perf
building won't be blocked, only BPF related features should be turned
off. Also, I think including Makefile.arch from tools/scripts would be
better, because libbpf is at the same level with perf. So I separate
them into 3 patches. Please help me test it on PowerPC.
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Jiri Olsa <redacted>
Cc: Naveen N. Rao <redacted>
Cc: Sukadev Bhattiprolu <redacted>
Naveen N. Rao (1):
perf: bpf: Fix build breakage due to libbpf
Wang Nan (2):
perf tools: Fix PowerPC native building
tools: Move Makefile.arch from perf/config to tools/scripts
for the patchset:
Acked-by: Jiri Olsa <jolsa@kernel.org>
thanks,
jirka
This patch contains a problem.
On 2015/12/15 11:35, Wang Nan wrote:
quoted hunk
From: "Naveen N. Rao" <redacted>
perf build is currently (v4.4-rc5) broken on powerpc:
bpf.c:28:4: error: #error __NR_bpf not defined. libbpf does not support
your arch.
# error __NR_bpf not defined. libbpf does not support your arch.
^
Fix this by including tools/perf/config/Makefile.arch for the proper
$ARCH macro. While at it, remove redundant LP64 macro definition.
Signed-off-by: Naveen N. Rao <redacted>
Signed-off-by: Wang Nan <redacted>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Jiri Olsa <redacted>
Cc: Sukadev Bhattiprolu <redacted>
---
tools/lib/bpf/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Here we depend on $(srctree), but libbpf's Makefile doesn't automatically
detect it. Directly 'make' in libbpf directory causes an error.
Will post a v4 for it.
Thank you.
From: "Naveen N. Rao" <redacted>
perf build is currently (v4.4-rc5) broken on powerpc:
bpf.c:28:4: error: #error __NR_bpf not defined. libbpf does not support
your arch.
# error __NR_bpf not defined. libbpf does not support your arch.
^
Fix this by including tools/scripts/Makefile.arch for the proper
$ARCH macro. While at it, remove redundant LP64 macro definition.
Also, since libbpf require $(srctree) now, detect the path of
srctree like perf.
Signed-off-by: Naveen N. Rao <redacted>
Signed-off-by: Wang Nan <redacted>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Sukadev Bhattiprolu <redacted>
---
v3 -> v4: Add srctree detector code so directly run 'make' in libbpf
directory would not cause error.
---
tools/lib/bpf/Makefile | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
@@ -6,6 +6,12 @@ BPF_EXTRAVERSION = 1MAKEFLAGS+=--no-print-directory+ifeq ($(srctree),)+srctree:=$(patsubst%/,%,$(dir$(shellpwd)))+srctree:=$(patsubst%/,%,$(dir$(srctree)))+srctree:=$(patsubst%/,%,$(dir$(srctree)))+#$(info Determined 'srctree' to be $(srctree))+endif# Makefiles suck: This macro sets a default value of $(2) for the# variable named by $(1), unless the variable has been set by
From: Naveen N. Rao <hidden> Date: 2015-12-15 11:31:18
On 2015/12/15 03:35AM, Wang Nan wrote:
Hi Naveen,
Now I know your problem is in native building and the reason is
missing proper $(ARCH). I think other than that there's another problem
in libbpf's building: if your problem is unable to compile libbpf,
feature checker should find it and set NO_LIBBPF=1 for perf, so perf
building won't be blocked, only BPF related features should be turned
off. Also, I think including Makefile.arch from tools/scripts would be
better, because libbpf is at the same level with perf. So I separate
them into 3 patches. Please help me test it on PowerPC.
Hi Wang,
Thanks for putting this together. Entire series:
Tested-by: Naveen N. Rao <redacted>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Jiri Olsa <redacted>
Cc: Naveen N. Rao <redacted>
Cc: Sukadev Bhattiprolu <redacted>
Naveen N. Rao (1):
perf: bpf: Fix build breakage due to libbpf
Wang Nan (2):
perf tools: Fix PowerPC native building
tools: Move Makefile.arch from perf/config to tools/scripts
tools/build/feature/test-bpf.c | 20 +++++++++++++++++++-
tools/lib/bpf/Makefile | 3 ++-
tools/lib/bpf/bpf.c | 4 ++--
tools/perf/config/Makefile | 2 +-
tools/perf/tests/make | 2 +-
tools/{perf/config => scripts}/Makefile.arch | 0
6 files changed, 25 insertions(+), 6 deletions(-)
rename tools/{perf/config => scripts}/Makefile.arch (100%)
--
1.8.3.4
From: Naveen N. Rao <hidden> Date: 2015-12-15 11:41:37
On 2015/12/15 08:51AM, Wang Nan wrote:
From: "Naveen N. Rao" <redacted>
perf build is currently (v4.4-rc5) broken on powerpc:
bpf.c:28:4: error: #error __NR_bpf not defined. libbpf does not support
your arch.
# error __NR_bpf not defined. libbpf does not support your arch.
^
Fix this by including tools/scripts/Makefile.arch for the proper
$ARCH macro. While at it, remove redundant LP64 macro definition.
Also, since libbpf require $(srctree) now, detect the path of
srctree like perf.
Signed-off-by: Naveen N. Rao <redacted>
Signed-off-by: Wang Nan <redacted>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Sukadev Bhattiprolu <redacted>
---
v3 -> v4: Add srctree detector code so directly run 'make' in libbpf
directory would not cause error.
@@ -6,6 +6,12 @@ BPF_EXTRAVERSION = 1MAKEFLAGS+=--no-print-directory+ifeq ($(srctree),)+srctree:=$(patsubst%/,%,$(dir$(shellpwd)))+srctree:=$(patsubst%/,%,$(dir$(srctree)))+srctree:=$(patsubst%/,%,$(dir$(srctree)))+#$(info Determined 'srctree' to be $(srctree))+endif# Makefiles suck: This macro sets a default value of $(2) for the# variable named by $(1), unless the variable has been set by
From: Arnaldo Carvalho de Melo <acme@kernel.org> Date: 2015-12-16 19:42:40
Em Tue, Dec 15, 2015 at 05:10:46PM +0530, Naveen N. Rao escreveu:
On 2015/12/15 08:51AM, Wang Nan wrote:
quoted
From: "Naveen N. Rao" <redacted>
perf build is currently (v4.4-rc5) broken on powerpc:
bpf.c:28:4: error: #error __NR_bpf not defined. libbpf does not support
your arch.
# error __NR_bpf not defined. libbpf does not support your arch.
^
Fix this by including tools/scripts/Makefile.arch for the proper
$ARCH macro. While at it, remove redundant LP64 macro definition.
Also, since libbpf require $(srctree) now, detect the path of
srctree like perf.
Signed-off-by: Naveen N. Rao <redacted>
Signed-off-by: Wang Nan <redacted>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Sukadev Bhattiprolu <redacted>
---
v3 -> v4: Add srctree detector code so directly run 'make' in libbpf
directory would not cause error.
Good catch!
Tested-by: Naveen N. Rao <redacted>
Trying to apply the patchkit:
[acme@zoo linux]$ make -C tools clean > /dev/null 2>&1
[acme@zoo linux]$ make -C tools/perf build-test
make: Entering directory '/home/git/linux/tools/perf'
Testing Makefile
tests/make:15: /scripts/Makefile.arch: No such file or directory
make[2]: *** No rule to make target '/scripts/Makefile.arch'. Stop.
tests/make:5: recipe for target 'all' failed
make[1]: *** [all] Error 2
Makefile:81: recipe for target 'build-test' failed
make: *** [build-test] Error 2
make: Leaving directory '/home/git/linux/tools/perf'
[acme@zoo linux]$
What am I doing wrong?
- Arnaldo
On 2015/12/17 3:42, Arnaldo Carvalho de Melo wrote:
Em Tue, Dec 15, 2015 at 05:10:46PM +0530, Naveen N. Rao escreveu:
quoted
On 2015/12/15 08:51AM, Wang Nan wrote:
quoted
From: "Naveen N. Rao" <redacted>
perf build is currently (v4.4-rc5) broken on powerpc:
bpf.c:28:4: error: #error __NR_bpf not defined. libbpf does not support
your arch.
# error __NR_bpf not defined. libbpf does not support your arch.
^
Fix this by including tools/scripts/Makefile.arch for the proper
$ARCH macro. While at it, remove redundant LP64 macro definition.
Also, since libbpf require $(srctree) now, detect the path of
srctree like perf.
Signed-off-by: Naveen N. Rao <redacted>
Signed-off-by: Wang Nan <redacted>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Sukadev Bhattiprolu <redacted>
---
v3 -> v4: Add srctree detector code so directly run 'make' in libbpf
directory would not cause error.
Good catch!
Tested-by: Naveen N. Rao <redacted>
Trying to apply the patchkit:
[acme@zoo linux]$ make -C tools clean > /dev/null 2>&1
[acme@zoo linux]$ make -C tools/perf build-test
make: Entering directory '/home/git/linux/tools/perf'
Testing Makefile
tests/make:15: /scripts/Makefile.arch: No such file or directory
make[2]: *** No rule to make target '/scripts/Makefile.arch'. Stop.
tests/make:5: recipe for target 'all' failed
make[1]: *** [all] Error 2
Makefile:81: recipe for target 'build-test' failed
make: *** [build-test] Error 2
make: Leaving directory '/home/git/linux/tools/perf'
[acme@zoo linux]$
What am I doing wrong?
From: Naveen N. Rao <hidden> Date: 2015-12-17 05:08:09
On 2015/12/17 09:29AM, Wang Nan wrote:
On 2015/12/17 3:42, Arnaldo Carvalho de Melo wrote:
quoted
Em Tue, Dec 15, 2015 at 05:10:46PM +0530, Naveen N. Rao escreveu:
quoted
On 2015/12/15 08:51AM, Wang Nan wrote:
quoted
From: "Naveen N. Rao" <redacted>
perf build is currently (v4.4-rc5) broken on powerpc:
bpf.c:28:4: error: #error __NR_bpf not defined. libbpf does not support
your arch.
# error __NR_bpf not defined. libbpf does not support your arch.
^
Fix this by including tools/scripts/Makefile.arch for the proper
$ARCH macro. While at it, remove redundant LP64 macro definition.
Also, since libbpf require $(srctree) now, detect the path of
srctree like perf.
Signed-off-by: Naveen N. Rao <redacted>
Signed-off-by: Wang Nan <redacted>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Sukadev Bhattiprolu <redacted>
---
v3 -> v4: Add srctree detector code so directly run 'make' in libbpf
directory would not cause error.
Good catch!
Tested-by: Naveen N. Rao <redacted>
Trying to apply the patchkit:
[acme@zoo linux]$ make -C tools clean > /dev/null 2>&1
[acme@zoo linux]$ make -C tools/perf build-test
make: Entering directory '/home/git/linux/tools/perf'
Testing Makefile
tests/make:15: /scripts/Makefile.arch: No such file or directory
make[2]: *** No rule to make target '/scripts/Makefile.arch'. Stop.
tests/make:5: recipe for target 'all' failed
make[1]: *** [all] Error 2
Makefile:81: recipe for target 'build-test' failed
make: *** [build-test] Error 2
make: Leaving directory '/home/git/linux/tools/perf'
[acme@zoo linux]$
What am I doing wrong?
You need all 3 patches. This v4 patch is a fix for previous v3 3/3 and I
send
this patch by replying that one. I thought your email client is sorted by
thread
so you can easily find it but it seems I was wrong...
Arrgh! I see the confusion - your v4 didn't explicitly mention patch
number 3, so that must have made Arnaldo think that this patch alone is
enough. Perhaps [PATCH v4 3/3] would have been clearer.
So I tried it again today, from the v6, the latest patch with that
subject line in my inbox, and I get this, after applying the first three
patches:
[acme@zoo linux]$ make -C tools clean > /dev/null
[acme@zoo linux]$ make -C tools/perf build-test
make: Entering directory '/home/git/linux/tools/perf'
Testing Makefile
tests/make:15: /scripts/Makefile.arch: No such file or directory
make[2]: *** No rule to make target '/scripts/Makefile.arch'. Stop.
tests/make:5: recipe for target 'all' failed
make[1]: *** [all] Error 2
Makefile:81: recipe for target 'build-test' failed
make: *** [build-test] Error 2
make: Leaving directory '/home/git/linux/tools/perf'
[acme@zoo linux]$
[acme@zoo linux]$ git log --oneline | head -10
a1f721fa8b82 perf bpf: Fix build breakage due to libbpf
41020638ceb2 tools: Move Makefile.arch from perf/config to tools/scripts
abf316e348da perf tools: Fix PowerPC native building
12ca6ad2e3a8 perf: Fix race in swevent hash
c12744994465 perf: Fix race in perf_event_exec()
2d2e7ac14a1f Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
fb202539e61b perf list: Robustify event printing routine
d643b5aba848 perf list: Add support for PERF_COUNT_SW_BPF_OUT
03fba21adb19 Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
4938cf0c7a62 perf hists browser: Fix segfault if use symbol filter in cmdline
[acme@zoo linux]$
Trying to figure this out...
- Arnaldo
@@ -12,7 +12,7 @@ endif else PERF := .-include config/Makefile.arch+include $(srctree)/scripts/Makefile.arch # FIXME looks like x86 is the only arch running tests ;-) # we need some IS_(32/64) flag to make this generic----------------------------------------------------
Because $(srctree) is not set at that point, I copied the needed bits from
tools/perf/Makefile.perf and got the patch below, which makes:L
make -C tools/perf build-test
Work for me again.
This should wrap up the day nicely, making me think of Jens Axboe recent
cool reaction to an untested patch:
http://lkml.kernel.org/r/5661C2BC.9030007@kernel.dk
:-)
Jiri, are you ok with the patch below, on top of the second patch in
Wang's series, that you acked?
- Arnaldo
@@ -1,3 +1,5 @@+include ../scripts/Makefile.include+ ifndef MK ifeq ($(MAKECMDGOALS),) # no target specified, trigger the whole suite
@@ -12,7 +14,19 @@ endif else PERF := .-include $(srctree)/scripts/Makefile.arch+# As per kernel Makefile, avoid funny character set dependencies+unexport LC_ALL+LC_COLLATE=C+LC_NUMERIC=C+export LC_COLLATE LC_NUMERIC++ifeq ($(srctree),)+srctree := $(patsubst %/,%,$(dir $(shell pwd)))+srctree := $(patsubst %/,%,$(dir $(srctree)))+#$(info Determined 'srctree' to be $(srctree))+endif++include $(srctree)/tools/scripts/Makefile.arch # FIXME looks like x86 is the only arch running tests ;-) # we need some IS_(32/64) flag to make this generic
@@ -12,7 +12,7 @@ endif else PERF := .-include config/Makefile.arch+include $(srctree)/scripts/Makefile.arch # FIXME looks like x86 is the only arch running tests ;-) # we need some IS_(32/64) flag to make this generic----------------------------------------------------
Because $(srctree) is not set at that point, I copied the needed bits from
tools/perf/Makefile.perf and got the patch below, which makes:L
make -C tools/perf build-test
Work for me again.
This should wrap up the day nicely, making me think of Jens Axboe recent
cool reaction to an untested patch:
http://lkml.kernel.org/r/5661C2BC.9030007@kernel.dk
:-)
Sorry. I though I have tested my patch by building perf, but didn't
realize perf/tests/make is not used in normal building. Doing build-test
takes too long, so I always forget it. Also, in my environment it can fail:
LD
/opt/wangnan/yocto_build/tmp-eglibc/work/generic_x86_64-oe-linux/perf/1.0-r8/perf-1.0/perf-in.o
LINK
/opt/wangnan/yocto_build/tmp-eglibc/work/generic_x86_64-oe-linux/perf/1.0-r8/perf-1.0/perf
test: test -x ./perf
make[2]: *** [make_no_newt] Error 1
make[1]: *** [all] Error 2
make: *** [build-test] Error 2
since I'm in a yocto building environment. I'll look into this problem
and give a patch on it.
Thank you.
So I tried it again today, from the v6, the latest patch with that
subject line in my inbox, and I get this, after applying the first three
patches:
[acme@zoo linux]$ make -C tools clean > /dev/null
[acme@zoo linux]$ make -C tools/perf build-test
Thanks, and sorry for the slip-up there - I should've caught that.
make: Entering directory '/home/git/linux/tools/perf'
Testing Makefile
tests/make:15: /scripts/Makefile.arch: No such file or directory
make[2]: *** No rule to make target '/scripts/Makefile.arch'. Stop.
tests/make:5: recipe for target 'all' failed
make[1]: *** [all] Error 2
Makefile:81: recipe for target 'build-test' failed
make: *** [build-test] Error 2
make: Leaving directory '/home/git/linux/tools/perf'
[acme@zoo linux]$
[acme@zoo linux]$ git log --oneline | head -10
FWIW, git log --oneline -10 works too :-)
Regards,
Naveen
So I tried it again today, from the v6, the latest patch with that
subject line in my inbox, and I get this, after applying the first three
patches:
[acme@zoo linux]$ make -C tools clean > /dev/null
[acme@zoo linux]$ make -C tools/perf build-test
Thanks, and sorry for the slip-up there - I should've caught that.
The important thing is that it gets caught before getting to Ingo, let
alone Linus, but if you get it before me, I'd appreciate as well 8-)
- Arnaldo
quoted
make: Entering directory '/home/git/linux/tools/perf'
Testing Makefile
tests/make:15: /scripts/Makefile.arch: No such file or directory
make[2]: *** No rule to make target '/scripts/Makefile.arch'. Stop.
tests/make:5: recipe for target 'all' failed
make[1]: *** [all] Error 2
Makefile:81: recipe for target 'build-test' failed
make: *** [build-test] Error 2
make: Leaving directory '/home/git/linux/tools/perf'
[acme@zoo linux]$
[acme@zoo linux]$ git log --oneline | head -10
FWIW, git log --oneline -10 works too :-)
Thanks! perf also has this syndrom of wanting to do a lot of things 8-)
So I tried it again today, from the v6, the latest patch with that
subject line in my inbox, and I get this, after applying the first three
patches:
[acme@zoo linux]$ make -C tools clean > /dev/null
[acme@zoo linux]$ make -C tools/perf build-test
Thanks, and sorry for the slip-up there - I should've caught that.
The important thing is that it gets caught before getting to Ingo, let
alone Linus, but if you get it before me, I'd appreciate as well 8-)
- Arnaldo
Is it possible to ask Fengguang Wu to help us adding perf building test
in his kbuild testing system?
Add Fengguang Wu into cc list.
Thank you.
So I tried it again today, from the v6, the latest patch with that
subject line in my inbox, and I get this, after applying the first three
patches:
quoted
quoted
quoted
$ make -C tools clean > /dev/null
$ make -C tools/perf build-test
Thanks, and sorry for the slip-up there - I should've caught that.
The important thing is that it gets caught before getting to Ingo, let
alone Linus, but if you get it before me, I'd appreciate as well 8-)
Is it possible to ask Fengguang Wu to help us adding perf building test
in his kbuild testing system?
I was thinking about this yesterday, when, IIRC, a change made by Kan
Liang (IIRC) to a kernel/events/ file, in the kernel proper, triggered a
warning about some casts and I got a warning, since I was in the commig
log CC list.
Since perf is in the kernel sources, and since we have the 'make -C
tools/perf build-test' harness, that would be really great to have it
hooked into the 0day bot...
@@ -12,7 +12,7 @@ endif else PERF := .-include config/Makefile.arch+include $(srctree)/scripts/Makefile.arch # FIXME looks like x86 is the only arch running tests ;-) # we need some IS_(32/64) flag to make this generic----------------------------------------------------
Because $(srctree) is not set at that point, I copied the needed bits from
tools/perf/Makefile.perf and got the patch below, which makes:L
make -C tools/perf build-test
Work for me again.
This should wrap up the day nicely, making me think of Jens Axboe recent
cool reaction to an untested patch:
http://lkml.kernel.org/r/5661C2BC.9030007@kernel.dk
:-)
Jiri, are you ok with the patch below, on top of the second patch in
Wang's series, that you acked?
So I tried it again today, from the v6, the latest patch with that
subject line in my inbox, and I get this, after applying the first three
patches:
quoted
quoted
quoted
quoted
$ make -C tools clean > /dev/null
$ make -C tools/perf build-test
Thanks, and sorry for the slip-up there - I should've caught that.
The important thing is that it gets caught before getting to Ingo, let
alone Linus, but if you get it before me, I'd appreciate as well 8-)
quoted
Is it possible to ask Fengguang Wu to help us adding perf building test
in his kbuild testing system?
I was thinking about this yesterday, when, IIRC, a change made by Kan
Liang (IIRC) to a kernel/events/ file, in the kernel proper, triggered a
warning about some casts and I got a warning, since I was in the commig
log CC list.
Since perf is in the kernel sources, and since we have the 'make -C
tools/perf build-test' harness, that would be really great to have it
hooked into the 0day bot...
Yes it should be handy to do so.
CC Philip, he's now maintaining the 0day system.
Thanks,
Fengguang