Re: Kernel 5.5.4 build fail for BPF-selftests with latest LLVM

From: Jesper Dangaard Brouer
Date: Wed Feb 19 2020 - 13:29:14 EST


On Wed, 19 Feb 2020 09:38:50 -0800
Andrii Nakryiko <andrii.nakryiko@xxxxxxxxx> wrote:

> On Wed, Feb 19, 2020 at 9:04 AM Jesper Dangaard Brouer
> <brouer@xxxxxxxxxx> wrote:
> >
> > On Wed, 19 Feb 2020 08:41:27 -0800
> > Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote:
> >
> > > On Wed, Feb 19, 2020 at 4:30 AM Jesper Dangaard Brouer
> > > <brouer@xxxxxxxxxx> wrote:
> > > >
> > > > I'm willing to help out, such that we can do either version or feature
> > > > detection, to either skip compiling specific test programs or at least
> > > > give users a proper warning of they are using a too "old" LLVM version.
> > > ...
> > > > progs/test_core_reloc_bitfields_probed.c:47:13: error: use of unknown builtin '__builtin_preserve_field_info' [-Wimplicit-function-declaration]
> > > > out->ub1 = BPF_CORE_READ_BITFIELD_PROBED(in, ub1);
> > >
> > > imo this is proper warning message already.
> >
> > This is an error, not a warning. The build breaks as the make process stops.
> >
>
> Latest Clang was a requirement for building and running all selftests
> for a long time now. There were few previous discussions on mailing
> list about this and each time the conclusion was the same: latest
> Clang is a requirement for BPF selftests.

The latest Clang is 9.0.1, and it doesn't build with that.

--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Hat
LinkedIn: http://www.linkedin.com/in/brouer