Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1291107 > unrolled thread
| Started by | "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> |
|---|---|
| First post | 2015-12-14 12:00 +0100 |
| Last post | 2015-12-15 12:40 +0100 |
| Articles | 19 — 5 participants |
Back to article view | Back to linux.kernel
[PATCH] perf: bpf: Fix build breakage due to libbpf "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> - 2015-12-14 12:00 +0100
[PATCH] tools lib bpf: Support libbpf on PowerPC Wang Nan <wangnan0@huawei.com> - 2015-12-14 12:40 +0100
Re: [PATCH] perf: bpf: Fix build breakage due to libbpf "Wangnan (F)" <wangnan0@huawei.com> - 2015-12-14 13:00 +0100
Re: [PATCH] perf: bpf: Fix build breakage due to libbpf "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> - 2015-12-14 16:20 +0100
[PATCH v2] tools lib bpf: Support libbpf on PowerPC Wang Nan <wangnan0@huawei.com> - 2015-12-14 13:00 +0100
Re: [PATCH v2] tools lib bpf: Support libbpf on PowerPC "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> - 2015-12-14 16:50 +0100
[PATCH v3 2/3] tools: Move Makefile.arch from perf/config to tools/scripts Wang Nan <wangnan0@huawei.com> - 2015-12-15 04:40 +0100
[PATCH v3 0/3] perf build: PowerPC: Fix build breakage due to libbpf Wang Nan <wangnan0@huawei.com> - 2015-12-15 04:40 +0100
[PATCH v3 1/3] perf tools: Fix PowerPC native building Wang Nan <wangnan0@huawei.com> - 2015-12-15 04:40 +0100
[PATCH v3 3/3] perf: bpf: Fix build breakage due to libbpf Wang Nan <wangnan0@huawei.com> - 2015-12-15 04:40 +0100
[PATCH v4] perf: bpf: Fix build breakage due to libbpf Wang Nan <wangnan0@huawei.com> - 2015-12-15 10:00 +0100
Re: [PATCH v4] perf: bpf: Fix build breakage due to libbpf "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> - 2015-12-15 12:50 +0100
Re: [PATCH v4] perf: bpf: Fix build breakage due to libbpf Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-12-16 20:50 +0100
Re: [PATCH v4] perf: bpf: Fix build breakage due to libbpf "Wangnan (F)" <wangnan0@huawei.com> - 2015-12-17 02:40 +0100
Re: [PATCH v4] perf: bpf: Fix build breakage due to libbpf "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> - 2015-12-17 06:10 +0100
Re: [PATCH v4] perf: bpf: Fix build breakage due to libbpf Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-12-17 13:20 +0100
Re: [PATCH v3 3/3] perf: bpf: Fix build breakage due to libbpf "Wangnan (F)" <wangnan0@huawei.com> - 2015-12-15 10:00 +0100
Re: [PATCH v3 0/3] perf build: PowerPC: Fix build breakage due to libbpf Jiri Olsa <jolsa@redhat.com> - 2015-12-15 09:10 +0100
Re: [PATCH v3 0/3] perf build: PowerPC: Fix build breakage due to libbpf "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> - 2015-12-15 12:40 +0100
| From | "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> |
|---|---|
| Date | 2015-12-14 12:00 +0100 |
| Subject | [PATCH] perf: bpf: Fix build breakage due to libbpf |
| Message-ID | <qFz1g-52w-11@gated-at.bofh.it> |
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 <naveen.n.rao@linux.vnet.ibm.com>
---
tools/lib/bpf/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
index 636e3dd..050e0e8 100644
--- a/tools/lib/bpf/Makefile
+++ b/tools/lib/bpf/Makefile
@@ -31,7 +31,8 @@ INSTALL = install
DESTDIR ?=
DESTDIR_SQ = '$(subst ','\'',$(DESTDIR))'
-LP64 := $(shell echo __LP64__ | ${CC} ${CFLAGS} -E -x c - | tail -n 1)
+include $(srctree)/tools/perf/config/Makefile.arch
+
ifeq ($(LP64), 1)
libdir_relative = lib64
else
--
2.6.2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Wang Nan <wangnan0@huawei.com> |
|---|---|
| Date | 2015-12-14 12:40 +0100 |
| Subject | [PATCH] tools lib bpf: Support libbpf on PowerPC |
| Message-ID | <qFzDY-5yq-29@gated-at.bofh.it> |
| In reply to | #1291107 |
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 <naveen.n.rao@linux.vnet.ibm.com>
Signed-off-by: Wang Nan <wangnan0@huawei.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
---
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(-)
diff --git a/tools/build/feature/test-bpf.c b/tools/build/feature/test-bpf.c
index 062bac8..dc119ec 100644
--- a/tools/build/feature/test-bpf.c
+++ b/tools/build/feature/test-bpf.c
@@ -1,9 +1,26 @@
+#include <asm/unistd.h>
#include <linux/bpf.h>
+#include <unistd.h>
+
+#ifndef __NR_bpf
+# if defined(__i386__)
+# define __NR_bpf 357
+# elif defined(__x86_64__)
+# define __NR_bpf 321
+# elif defined(__aarch64__)
+# define __NR_bpf 280
+# elif defined(__powerpc64__)
+# define __NR_bpf 361
+# 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.
+ * This call should fail.
+ */
+ return syscall(__NR_bpf, BPF_PROG_LOAD, attr, sizeof(attr));
}
diff --git a/tools/lib/bpf/bpf.c b/tools/lib/bpf/bpf.c
index 5bdc6ea..b68c9e2 100644
--- a/tools/lib/bpf/bpf.c
+++ b/tools/lib/bpf/bpf.c
@@ -14,8 +14,8 @@
#include "bpf.h"
/*
- * When building perf, unistd.h is override. Define __NR_bpf is
- * required to be defined.
+ * When building perf, unistd.h is overrided. __NR_bpf is
+ * required to be defined explicitly.
*/
#ifndef __NR_bpf
# if defined(__i386__)
@@ -24,6 +24,8 @@
# define __NR_bpf 321
# elif defined(__aarch64__)
# define __NR_bpf 280
+# elif defined(__powerpc64__)
+# define __NR_bpf 361
# else
# error __NR_bpf not defined. libbpf does not support your arch.
# endif
--
1.8.3.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | "Wangnan (F)" <wangnan0@huawei.com> |
|---|---|
| Date | 2015-12-14 13:00 +0100 |
| Message-ID | <qFzXj-5Fk-3@gated-at.bofh.it> |
| In reply to | #1291107 |
Hi Naveen,
On 2015/12/14 18:50, Naveen N. Rao wrote:
> 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 <naveen.n.rao@linux.vnet.ibm.com>
> ---
> tools/lib/bpf/Makefile | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
> index 636e3dd..050e0e8 100644
> --- a/tools/lib/bpf/Makefile
> +++ b/tools/lib/bpf/Makefile
> @@ -31,7 +31,8 @@ INSTALL = install
> DESTDIR ?=
> DESTDIR_SQ = '$(subst ','\'',$(DESTDIR))'
>
> -LP64 := $(shell echo __LP64__ | ${CC} ${CFLAGS} -E -x c - | tail -n 1)
> +include $(srctree)/tools/perf/config/Makefile.arch
> +
> ifeq ($(LP64), 1)
> libdir_relative = lib64
> else
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> |
|---|---|
| Date | 2015-12-14 16:20 +0100 |
| Message-ID | <qFD4S-7Rv-13@gated-at.bofh.it> |
| In reply to | #1291136 |
On 2015/12/14 07:53PM, Wang Nan wrote:
> Hi Naveen,
>
> On 2015/12/14 18:50, Naveen N. Rao wrote:
> >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 <naveen.n.rao@linux.vnet.ibm.com>
> >---
> > tools/lib/bpf/Makefile | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> >diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
> >index 636e3dd..050e0e8 100644
> >--- a/tools/lib/bpf/Makefile
> >+++ b/tools/lib/bpf/Makefile
> >@@ -31,7 +31,8 @@ INSTALL = install
> > DESTDIR ?=
> > DESTDIR_SQ = '$(subst ','\'',$(DESTDIR))'
> >-LP64 := $(shell echo __LP64__ | ${CC} ${CFLAGS} -E -x c - | tail -n 1)
> >+include $(srctree)/tools/perf/config/Makefile.arch
> >+
> > ifeq ($(LP64), 1)
> > libdir_relative = lib64
> > else
>
> 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
>
> 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
>
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Wang Nan <wangnan0@huawei.com> |
|---|---|
| Date | 2015-12-14 13:00 +0100 |
| Subject | [PATCH v2] tools lib bpf: Support libbpf on PowerPC |
| Message-ID | <qFzXj-5Fk-11@gated-at.bofh.it> |
| In reply to | #1291107 |
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 <naveen.n.rao@linux.vnet.ibm.com>
Signed-off-by: Wang Nan <wangnan0@huawei.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
---
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(-)
diff --git a/tools/build/feature/test-bpf.c b/tools/build/feature/test-bpf.c
index 062bac8..19497f7 100644
--- a/tools/build/feature/test-bpf.c
+++ b/tools/build/feature/test-bpf.c
@@ -1,9 +1,26 @@
+#include <asm/unistd.h>
#include <linux/bpf.h>
+#include <unistd.h>
+
+#ifndef __NR_bpf
+# if defined(__i386__)
+# define __NR_bpf 357
+# elif defined(__x86_64__)
+# define __NR_bpf 321
+# elif defined(__aarch64__)
+# define __NR_bpf 280
+# elif defined(__powerpc__)
+# define __NR_bpf 361
+# 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.
+ * This call should fail if we run the testcase.
+ */
+ return syscall(__NR_bpf, BPF_PROG_LOAD, attr, sizeof(attr));
}
diff --git a/tools/lib/bpf/bpf.c b/tools/lib/bpf/bpf.c
index 5bdc6ea..fd25c58 100644
--- a/tools/lib/bpf/bpf.c
+++ b/tools/lib/bpf/bpf.c
@@ -14,8 +14,8 @@
#include "bpf.h"
/*
- * When building perf, unistd.h is override. Define __NR_bpf is
- * required to be defined.
+ * When building perf, unistd.h is overrided. __NR_bpf is
+ * required to be defined explicitly.
*/
#ifndef __NR_bpf
# if defined(__i386__)
@@ -24,6 +24,8 @@
# define __NR_bpf 321
# elif defined(__aarch64__)
# define __NR_bpf 280
+# elif defined(__powerpc__)
+# define __NR_bpf 361
# else
# error __NR_bpf not defined. libbpf does not support your arch.
# endif
--
1.8.3.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> |
|---|---|
| Date | 2015-12-14 16:50 +0100 |
| Subject | Re: [PATCH v2] tools lib bpf: Support libbpf on PowerPC |
| Message-ID | <qFDxV-83l-37@gated-at.bofh.it> |
| In reply to | #1291137 |
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 <naveen.n.rao@linux.vnet.ibm.com>
> Signed-off-by: Wang Nan <wangnan0@huawei.com>
> Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
> Cc: Alexei Starovoitov <alexei.starovoitov@gmail.com>
> Cc: Jiri Olsa <jolsa@redhat.com>
> Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
> ---
>
> 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.
Thanks, this works. However...
>
> Thank you.
>
> ---
> tools/build/feature/test-bpf.c | 23 ++++++++++++++++++++++-
> tools/lib/bpf/bpf.c | 6 ++++--
> 2 files changed, 26 insertions(+), 3 deletions(-)
>
> diff --git a/tools/build/feature/test-bpf.c b/tools/build/feature/test-bpf.c
> index 062bac8..19497f7 100644
> --- a/tools/build/feature/test-bpf.c
> +++ b/tools/build/feature/test-bpf.c
> @@ -1,9 +1,26 @@
> +#include <asm/unistd.h>
> #include <linux/bpf.h>
> +#include <unistd.h>
> +
> +#ifndef __NR_bpf
> +# if defined(__i386__)
> +# define __NR_bpf 357
> +# elif defined(__x86_64__)
> +# define __NR_bpf 321
> +# elif defined(__aarch64__)
> +# define __NR_bpf 280
> +# elif defined(__powerpc__)
> +# define __NR_bpf 361
I think we should drop __aarch64__ and __powerpc__ here since this
builds fine on ppc without these hunks.
> +# 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'.
> + * This call should fail if we run the testcase.
> + */
> + return syscall(__NR_bpf, BPF_PROG_LOAD, attr, sizeof(attr));
> }
> diff --git a/tools/lib/bpf/bpf.c b/tools/lib/bpf/bpf.c
> index 5bdc6ea..fd25c58 100644
> --- a/tools/lib/bpf/bpf.c
> +++ b/tools/lib/bpf/bpf.c
> @@ -14,8 +14,8 @@
> #include "bpf.h"
>
> /*
> - * When building perf, unistd.h is override. Define __NR_bpf is
> - * required to be defined.
> + * When building perf, unistd.h is overrided. __NR_bpf is
> + * required to be defined explicitly.
> */
> #ifndef __NR_bpf
> # if defined(__i386__)
> @@ -24,6 +24,8 @@
> # define __NR_bpf 321
> # elif defined(__aarch64__)
> # define __NR_bpf 280
> +# elif defined(__powerpc__)
> +# define __NR_bpf 361
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Wang Nan <wangnan0@huawei.com> |
|---|---|
| Date | 2015-12-15 04:40 +0100 |
| Subject | [PATCH v3 2/3] tools: Move Makefile.arch from perf/config to tools/scripts |
| Message-ID | <qFOCZ-6Zc-5@gated-at.bofh.it> |
| In reply to | #1291107 |
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 <wangnan0@huawei.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
---
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%)
diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
index a552417..34717e4 100644
--- a/tools/perf/config/Makefile
+++ b/tools/perf/config/Makefile
@@ -17,7 +17,7 @@ detected_var = $(shell echo "$(1)=$($(1))" >> $(OUTPUT).config-detected)
CFLAGS := $(EXTRA_CFLAGS) $(EXTRA_WARNINGS)
-include $(src-perf)/config/Makefile.arch
+include $(srctree)/tools/scripts/Makefile.arch
$(call detected_var,ARCH)
diff --git a/tools/perf/tests/make b/tools/perf/tests/make
index 8ea3dff..cd9c3ce 100644
--- a/tools/perf/tests/make
+++ b/tools/perf/tests/make
@@ -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.arch
similarity index 100%
rename from tools/perf/config/Makefile.arch
rename to tools/scripts/Makefile.arch
--
1.8.3.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Wang Nan <wangnan0@huawei.com> |
|---|---|
| Date | 2015-12-15 04:40 +0100 |
| Subject | [PATCH v3 0/3] perf build: PowerPC: Fix build breakage due to libbpf |
| Message-ID | <qFOCZ-6Zc-3@gated-at.bofh.it> |
| In reply to | #1291107 |
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 <jolsa@redhat.com>
Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Wang Nan <wangnan0@huawei.com> |
|---|---|
| Date | 2015-12-15 04:40 +0100 |
| Subject | [PATCH v3 1/3] perf tools: Fix PowerPC native building |
| Message-ID | <qFOCZ-6Zc-1@gated-at.bofh.it> |
| In reply to | #1291819 |
Checks BPF syscall number, turn off libbpf building on platform doesn't
correctly support sys_bpf instead of blocking compiling.
Reported-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Signed-off-by: Wang Nan <wangnan0@huawei.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
---
tools/build/feature/test-bpf.c | 20 +++++++++++++++++++-
tools/lib/bpf/bpf.c | 4 ++--
2 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/tools/build/feature/test-bpf.c b/tools/build/feature/test-bpf.c
index 062bac8..b389026 100644
--- a/tools/build/feature/test-bpf.c
+++ b/tools/build/feature/test-bpf.c
@@ -1,9 +1,23 @@
+#include <asm/unistd.h>
#include <linux/bpf.h>
+#include <unistd.h>
+
+#ifndef __NR_bpf
+# if defined(__i386__)
+# define __NR_bpf 357
+# elif defined(__x86_64__)
+# define __NR_bpf 321
+# elif defined(__aarch64__)
+# define __NR_bpf 280
+# 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 +28,9 @@ int main(void)
attr.kern_version = 0;
attr = attr;
- return 0;
+ /*
+ * Test existence of __NR_bpf and BPF_PROG_LOAD.
+ * This call should fail if we run the testcase.
+ */
+ return syscall(__NR_bpf, BPF_PROG_LOAD, attr, sizeof(attr));
}
diff --git a/tools/lib/bpf/bpf.c b/tools/lib/bpf/bpf.c
index 5bdc6ea..1f91cc9 100644
--- a/tools/lib/bpf/bpf.c
+++ b/tools/lib/bpf/bpf.c
@@ -14,8 +14,8 @@
#include "bpf.h"
/*
- * When building perf, unistd.h is override. Define __NR_bpf is
- * required to be defined.
+ * When building perf, unistd.h is overrided. __NR_bpf is
+ * required to be defined explicitly.
*/
#ifndef __NR_bpf
# if defined(__i386__)
--
1.8.3.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Wang Nan <wangnan0@huawei.com> |
|---|---|
| Date | 2015-12-15 04:40 +0100 |
| Subject | [PATCH v3 3/3] perf: bpf: Fix build breakage due to libbpf |
| Message-ID | <qFOD0-6Zc-15@gated-at.bofh.it> |
| In reply to | #1291819 |
From: "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>
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 <naveen.n.rao@linux.vnet.ibm.com>
Signed-off-by: Wang Nan <wangnan0@huawei.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
---
tools/lib/bpf/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
index 636e3dd..3d34a8c 100644
--- a/tools/lib/bpf/Makefile
+++ b/tools/lib/bpf/Makefile
@@ -31,7 +31,8 @@ INSTALL = install
DESTDIR ?=
DESTDIR_SQ = '$(subst ','\'',$(DESTDIR))'
-LP64 := $(shell echo __LP64__ | ${CC} ${CFLAGS} -E -x c - | tail -n 1)
+include $(srctree)/tools/scripts/Makefile.arch
+
ifeq ($(LP64), 1)
libdir_relative = lib64
else
--
1.8.3.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Wang Nan <wangnan0@huawei.com> |
|---|---|
| Date | 2015-12-15 10:00 +0100 |
| Subject | [PATCH v4] perf: bpf: Fix build breakage due to libbpf |
| Message-ID | <qFTCG-1Fp-5@gated-at.bofh.it> |
| In reply to | #1291821 |
From: "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>
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 <naveen.n.rao@linux.vnet.ibm.com>
Signed-off-by: Wang Nan <wangnan0@huawei.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
---
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(-)
diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
index 636e3dd..0b6e013 100644
--- a/tools/lib/bpf/Makefile
+++ b/tools/lib/bpf/Makefile
@@ -6,6 +6,12 @@ BPF_EXTRAVERSION = 1
MAKEFLAGS += --no-print-directory
+ifeq ($(srctree),)
+srctree := $(patsubst %/,%,$(dir $(shell pwd)))
+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
@@ -31,7 +37,8 @@ INSTALL = install
DESTDIR ?=
DESTDIR_SQ = '$(subst ','\'',$(DESTDIR))'
-LP64 := $(shell echo __LP64__ | ${CC} ${CFLAGS} -E -x c - | tail -n 1)
+include $(srctree)/tools/scripts/Makefile.arch
+
ifeq ($(LP64), 1)
libdir_relative = lib64
else
--
1.8.3.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> |
|---|---|
| Date | 2015-12-15 12:50 +0100 |
| Subject | Re: [PATCH v4] perf: bpf: Fix build breakage due to libbpf |
| Message-ID | <qFWhb-3v9-7@gated-at.bofh.it> |
| In reply to | #1291938 |
On 2015/12/15 08:51AM, Wang Nan wrote:
> From: "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>
>
> 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 <naveen.n.rao@linux.vnet.ibm.com>
> Signed-off-by: Wang Nan <wangnan0@huawei.com>
> Acked-by: Jiri Olsa <jolsa@kernel.org>
> Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
> Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
> ---
>
> v3 -> v4: Add srctree detector code so directly run 'make' in libbpf
> directory would not cause error.
Good catch!
Tested-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
>
> ---
> tools/lib/bpf/Makefile | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
> index 636e3dd..0b6e013 100644
> --- a/tools/lib/bpf/Makefile
> +++ b/tools/lib/bpf/Makefile
> @@ -6,6 +6,12 @@ BPF_EXTRAVERSION = 1
>
> MAKEFLAGS += --no-print-directory
>
> +ifeq ($(srctree),)
> +srctree := $(patsubst %/,%,$(dir $(shell pwd)))
> +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
> @@ -31,7 +37,8 @@ INSTALL = install
> DESTDIR ?=
> DESTDIR_SQ = '$(subst ','\'',$(DESTDIR))'
>
> -LP64 := $(shell echo __LP64__ | ${CC} ${CFLAGS} -E -x c - | tail -n 1)
> +include $(srctree)/tools/scripts/Makefile.arch
> +
> ifeq ($(LP64), 1)
> libdir_relative = lib64
> else
> --
> 1.8.3.4
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2015-12-16 20:50 +0100 |
| Subject | Re: [PATCH v4] perf: bpf: Fix build breakage due to libbpf |
| Message-ID | <qGqfg-61p-13@gated-at.bofh.it> |
| In reply to | #1292072 |
Em Tue, Dec 15, 2015 at 05:10:46PM +0530, Naveen N. Rao escreveu: > On 2015/12/15 08:51AM, Wang Nan wrote: > > From: "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> > > > > 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 <naveen.n.rao@linux.vnet.ibm.com> > > Signed-off-by: Wang Nan <wangnan0@huawei.com> > > Acked-by: Jiri Olsa <jolsa@kernel.org> > > Cc: Arnaldo Carvalho de Melo <acme@kernel.org> > > Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com> > > --- > > > > v3 -> v4: Add srctree detector code so directly run 'make' in libbpf > > directory would not cause error. > > Good catch! > > Tested-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | "Wangnan (F)" <wangnan0@huawei.com> |
|---|---|
| Date | 2015-12-17 02:40 +0100 |
| Subject | Re: [PATCH v4] perf: bpf: Fix build breakage due to libbpf |
| Message-ID | <qGvHX-16n-1@gated-at.bofh.it> |
| In reply to | #1293328 |
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: >> On 2015/12/15 08:51AM, Wang Nan wrote: >>> From: "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> >>> >>> 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 <naveen.n.rao@linux.vnet.ibm.com> >>> Signed-off-by: Wang Nan <wangnan0@huawei.com> >>> Acked-by: Jiri Olsa <jolsa@kernel.org> >>> Cc: Arnaldo Carvalho de Melo <acme@kernel.org> >>> Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com> >>> --- >>> >>> v3 -> v4: Add srctree detector code so directly run 'make' in libbpf >>> directory would not cause error. >> Good catch! >> >> Tested-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> > 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... The whole thread is: [PATCH v3 0/3] perf build: PowerPC: Fix build breakage due to libbpf: http://lkml.kernel.org/g/1450150557-127942-1-git-send-email-wangnan0@huawei.com [PATCH v3 1/3] perf tools: Fix PowerPC native building http://lkml.kernel.org/g/1450150557-127942-2-git-send-email-wangnan0@huawei.com [PATCH v3 2/3] tools: Move Makefile.arch from perf/config to tools/scripts http://lkml.kernel.org/g/1450150557-127942-3-git-send-email-wangnan0@huawei.com [PATCH v3 3/3] perf: bpf: Fix build breakage due to libbpf http://lkml.kernel.org/g/1450150557-127942-4-git-send-email-wangnan0@huawei.com and [PATCH v3 3/3] breaks local building because the usage of "srctree", and I fix it in this one. Thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> |
|---|---|
| Date | 2015-12-17 06:10 +0100 |
| Subject | Re: [PATCH v4] perf: bpf: Fix build breakage due to libbpf |
| Message-ID | <qGyZb-3kJ-7@gated-at.bofh.it> |
| In reply to | #1293545 |
On 2015/12/17 09:29AM, Wang Nan wrote: > > > 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: > >>On 2015/12/15 08:51AM, Wang Nan wrote: > >>>From: "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> > >>> > >>>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 <naveen.n.rao@linux.vnet.ibm.com> > >>>Signed-off-by: Wang Nan <wangnan0@huawei.com> > >>>Acked-by: Jiri Olsa <jolsa@kernel.org> > >>>Cc: Arnaldo Carvalho de Melo <acme@kernel.org> > >>>Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com> > >>>--- > >>> > >>>v3 -> v4: Add srctree detector code so directly run 'make' in libbpf > >>> directory would not cause error. > >>Good catch! > >> > >>Tested-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> > >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. > > The whole thread is: > > [PATCH v3 0/3] perf build: PowerPC: Fix build breakage due to libbpf: > http://lkml.kernel.org/g/1450150557-127942-1-git-send-email-wangnan0@huawei.com > > [PATCH v3 1/3] perf tools: Fix PowerPC native building > http://lkml.kernel.org/g/1450150557-127942-2-git-send-email-wangnan0@huawei.com > > [PATCH v3 2/3] tools: Move Makefile.arch from perf/config to tools/scripts > http://lkml.kernel.org/g/1450150557-127942-3-git-send-email-wangnan0@huawei.com > > [PATCH v3 3/3] perf: bpf: Fix build breakage due to libbpf > http://lkml.kernel.org/g/1450150557-127942-4-git-send-email-wangnan0@huawei.com > > and [PATCH v3 3/3] breaks local building because the usage of "srctree", and ^^ You mean v4 here. Anyway, now that you've sent v4, it should be much clearer. Thanks, Naveen -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2015-12-17 13:20 +0100 |
| Subject | Re: [PATCH v4] perf: bpf: Fix build breakage due to libbpf |
| Message-ID | <qGFHk-7JC-5@gated-at.bofh.it> |
| In reply to | #1293612 |
Em Thu, Dec 17, 2015 at 10:37:14AM +0530, Naveen N. Rao escreveu: > On 2015/12/17 09:29AM, Wang Nan wrote: > > The whole thread is: > > > > [PATCH v3 0/3] perf build: PowerPC: Fix build breakage due to libbpf: > > http://lkml.kernel.org/g/1450150557-127942-1-git-send-email-wangnan0@huawei.com > > > > [PATCH v3 1/3] perf tools: Fix PowerPC native building > > http://lkml.kernel.org/g/1450150557-127942-2-git-send-email-wangnan0@huawei.com > > > > [PATCH v3 2/3] tools: Move Makefile.arch from perf/config to tools/scripts > > http://lkml.kernel.org/g/1450150557-127942-3-git-send-email-wangnan0@huawei.com > > > > [PATCH v3 3/3] perf: bpf: Fix build breakage due to libbpf > > http://lkml.kernel.org/g/1450150557-127942-4-git-send-email-wangnan0@huawei.com > > > > and [PATCH v3 3/3] breaks local building because the usage of "srctree", and ^^ > You mean v4 here. > Anyway, now that you've sent v4, it should be much clearer. Right, I should've read it more thoroughly, but anyway, I'll process it today. - Arnaldo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | "Wangnan (F)" <wangnan0@huawei.com> |
|---|---|
| Date | 2015-12-15 10:00 +0100 |
| Subject | Re: [PATCH v3 3/3] perf: bpf: Fix build breakage due to libbpf |
| Message-ID | <qFTCH-1Fp-13@gated-at.bofh.it> |
| In reply to | #1291821 |
This patch contains a problem.
On 2015/12/15 11:35, Wang Nan wrote:
> From: "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>
>
> 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 <naveen.n.rao@linux.vnet.ibm.com>
> Signed-off-by: Wang Nan <wangnan0@huawei.com>
> Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
> Cc: Jiri Olsa <jolsa@redhat.com>
> Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
> ---
> tools/lib/bpf/Makefile | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
> index 636e3dd..3d34a8c 100644
> --- a/tools/lib/bpf/Makefile
> +++ b/tools/lib/bpf/Makefile
> @@ -31,7 +31,8 @@ INSTALL = install
> DESTDIR ?=
> DESTDIR_SQ = '$(subst ','\'',$(DESTDIR))'
>
> -LP64 := $(shell echo __LP64__ | ${CC} ${CFLAGS} -E -x c - | tail -n 1)
> +include $(srctree)/tools/scripts/Makefile.arch
> +
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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Jiri Olsa <jolsa@redhat.com> |
|---|---|
| Date | 2015-12-15 09:10 +0100 |
| Subject | Re: [PATCH v3 0/3] perf build: PowerPC: Fix build breakage due to libbpf |
| Message-ID | <qFSQj-1nP-23@gated-at.bofh.it> |
| In reply to | #1291819 |
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 <jolsa@redhat.com> > Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> > Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com> > > 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> |
|---|---|
| Date | 2015-12-15 12:40 +0100 |
| Subject | Re: [PATCH v3 0/3] perf build: PowerPC: Fix build breakage due to libbpf |
| Message-ID | <qFW7v-3rs-15@gated-at.bofh.it> |
| In reply to | #1291819 |
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 <naveen.n.rao@linux.vnet.ibm.com>
>
> Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
> Cc: Jiri Olsa <jolsa@redhat.com>
> Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
> Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
>
> 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
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web