[Buildroot] [autobuild.buildroot.net] Your daily results for 2022-04-14

Francis Laniel flaniel at linux.microsoft.com
Tue Apr 19 17:41:44 UTC 2022


Hi.

Le dimanche 17 avril 2022, 09:42:44 BST Thomas Petazzoni a écrit :
> On Fri, 15 Apr 2022 17:42:23 +0100
> 
> Francis Laniel <flaniel at linux.microsoft.com> wrote:
> > >     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
> > > 9d03
> > > 
> > > 
> > > 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_OUTPUT was added in :
> > a43eec304259 ("bpf: introduce bpf_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.
> 
> > 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.

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?

> Best regards,
> 
> Thomas

Best regards.





More information about the buildroot mailing list