Your daily results for 2022-04-14
A message that is not in the archive (sent off-list or not yet received): 2098999.irdbgypaU6@pwmachine
Quoted 13 lines · On Fri, 15 Apr 2022 17:42:23 +0100 Francis Laniel…
Quoted 13 lines
arch | reason |
url
-------------+--------------------------------+----------------------------
----------------------------------------------------- xtensa |
host-pahole-v1.23 |
http://autobuild.buildroot.net/results/fa4fb6ca383e058e89ff8796ac9ae68a0b16
81b5 m68k | host-pahole-v1.23 |
http://autobuild.buildroot.net/results/b584c57a72e4604112f4b12c0c7b21e1a4b4
1dd5 arm | host-pahole-v1.23 |
http://autobuild.buildroot.net/results/b43be30cb177066d1b49bf4822790ec0ca01
9d03
Quoted 8 lines
Quoted 1 line
Thanks for your contribution to Buildroot!
I suspect this problem occurs because Ubuntu 14.04 kernel does not know the problematic symbols.
Indeed,PERF_COUNT_SW_BPF_OUTPUTwas added in :a43eec304259("bpf: introducebpf_perf_event_output()helper") which was released with kernel 4.4.
So, can you please give me the uname -r of the host-distro?
I can't because these build issues (or at least the last one) occurs on Yann Morin's autobuilder, so I've added yann in Cc.
Quoted 2 lines
If my suspicion is good, I already wrote a patch to throw an error if host kernel is under 4.4 while building host-pahole.
This is not going to be the solution. Why does host-pahole depend on the version of the kernel? Why does it need the NR_bpf symbol?
There is some logic in src/bpf.c to get __NR_bpf if not provided by kernel headers:
#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(__sparc__) # define __NR_bpf 349 # elif defined(__s390__) # define __NR_bpf 351 # elif defined(__arc__) # define __NR_bpf 280 # elif defined(__mips__) && defined(_ABIO32) # define __NR_bpf 4355 # elif defined(__mips__) && defined(_ABIN32) # define __NR_bpf 6319 # elif defined(__mips__) && defined(_ABI64) # define __NR_bpf 5315 # else # error __NR_bpf not defined. libbpf does not support your arch. # endif #endif
but this logic is only partially duplicated in src/skel_internal.h:
#ifndef __NR_bpf
# if defined(__mips__) && defined(_ABIO32) # define __NR_bpf 4355 # elif defined(__mips__) && defined(_ABIN32) # define __NR_bpf 6319 # elif defined(__mips__) && defined(_ABI64) # define __NR_bpf 5315 # endif #endif
That doesn't make much sense.
Do we need that BPF support in host-pahole in our use-case of host-pahole?
BTW, I'm seeing that we can avoid using the internal libbpf, and therefore avoid using git submodules:
option(LIBBPF_EMBEDDED "Use the embedded version of libbpf instead of searching it via pkg-config" ON) if (NOT LIBBPF_EMBEDDED)
find_package(PkgConfig REQUIRED)
if(PKGCONFIG_FOUND)
pkg_check_modules(LIBBPF REQUIRED libbpf>=0.4.0)
endif()endif()
So we should definitely do that, and have a separate Buildroot package for libbpf.
Best regards,
Thomas
Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Hi.
Quoted 95 lines · Le dimanche 17 avril 2022, 09:42:44 BST Thomas Petazzoni a écrit :
On Fri, 15 Apr 2022 17:42:23 +0100
Quoted 21 lines · Francis Laniel
Quoted 19 lines
arch | reason |
url
-------------+--------------------------------+-------------------------
---
----------------------------------------------------- xtensa |
host-pahole-v1.23 |
http://autobuild.buildroot.net/results/fa4fb6ca383e058e89ff8796ac9ae68a0
b16
81b5 m68k | host-pahole-v1.23 |
http://autobuild.buildroot.net/results/b584c57a72e4604112f4b12c0c7b21e1a
4b4
1dd5 arm | host-pahole-v1.23 |
http://autobuild.buildroot.net/results/b43be30cb177066d1b49bf4822790ec0c
a01
9d03Quoted 1 line
Thanks for your contribution to Buildroot!
Quoted 7 lines
I suspect this problem occurs because Ubuntu 14.04 kernel does not know the
problematic symbols.
Indeed,PERF_COUNT_SW_BPF_OUTPUTwas added in :a43eec304259("bpf: introducebpf_perf_event_output()helper") which was released with kernel 4.4.
So, can you please give me the uname -r of the host-distro?I can't because these build issues (or at least the last one) occurs on Yann Morin's autobuilder, so I've added yann in Cc.
Quoted 2 lines
If my suspicion is good, I already wrote a patch to throw an error if host kernel is under 4.4 while building host-pahole.
This is not going to be the solution. Why does host-pahole depend on the version of the kernel? Why does it need the
NR_bpfsymbol?There is some logic in
src/bpf.cto get__NR_bpfif not provided by kernel headers:#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(__sparc__) # define __NR_bpf 349 # elif defined(__s390__) # define __NR_bpf 351 # elif defined(__arc__) # define __NR_bpf 280 # elif defined(__mips__) && defined(_ABIO32) # define __NR_bpf 4355 # elif defined(__mips__) && defined(_ABIN32) # define __NR_bpf 6319 # elif defined(__mips__) && defined(_ABI64) # define __NR_bpf 5315 # else # error __NR_bpf not defined. libbpf does not support your arch. # endif #endifbut this logic is only partially duplicated in
src/skel_internal.h:#ifndef
__NR_bpf# if defined(__mips__) && defined(_ABIO32) # define __NR_bpf 4355 # elif defined(__mips__) && defined(_ABIN32) # define __NR_bpf 6319 # elif defined(__mips__) && defined(_ABI64) # define __NR_bpf 5315 # endif #endifThat doesn't make much sense.
Do we need that BPF support in host-pahole in our use-case of host-pahole?
BTW, I'm seeing that we can avoid using the internal libbpf, and therefore avoid using git submodules:
option(LIBBPF_EMBEDDED "Use the embedded version of libbpf instead of searching it via pkg-config" ON)if (NOTLIBBPF_EMBEDDED)
find_package(PkgConfig REQUIRED)if(PKGCONFIG_FOUND)
pkg_check_modules(LIBBPF REQUIRED libbpf>=0.4.0)
endif()endif()
Quoted 2 lines
So we should definitely do that, and have a separate Buildroot package for libbpf.
I think upstream code has actually a problem buildroot test infrastructure highlighted.
So, from my understanding, the best solution would be to patch upstream libbpf.
Indeed, I do not think adding a buildroot package will solve this problem.
Were you suggesting than by adding a buildroot package we could add a local patch to fix this behavior?
Quoted 3 lines
Best regards,
Thomas
Best regards.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Quoted 8 lines · On Tue, 19 Apr 2022 18:41:44 +0100 Francis Laniel…
I think upstream code has actually a problem buildroot test infrastructure highlighted.
So, from my understanding, the best solution would be to patch upstream libbpf.
Indeed, I do not think adding a buildroot package will solve this problem.Were you suggesting than by adding a buildroot package we could add a local patch to fix this behavior?
What I meant is that pahole bundles libbpf as a git submodule, but can also use an external libbpf. In the context of Buildroot, we would very much prefer to have a separate host-libbpf package, with host-pahole depending on it (and not using its own copy of libbpf).
Best regards,
Thomas
Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot