[PATCH bpf v2] libbpf: Handle GCC built-in types for Arm NEON

Alexei Starovoitov alexei.starovoitov at gmail.com
Wed Aug 12 21:12:57 EDT 2020


On Wed, Aug 12, 2020 at 10:35 AM Andrii Nakryiko
<andrii.nakryiko at gmail.com> wrote:
>
> On Wed, Aug 12, 2020 at 7:42 AM Jean-Philippe Brucker
> <jean-philippe at linaro.org> wrote:
> >
> > When building Arm NEON (SIMD) code from lib/raid6/neon.uc, GCC emits
> > DWARF information using a base type "__Poly8_t", which is internal to
> > GCC and not recognized by Clang. This causes build failures when
> > building with Clang a vmlinux.h generated from an arm64 kernel that was
> > built with GCC.
> >
> >         vmlinux.h:47284:9: error: unknown type name '__Poly8_t'
> >         typedef __Poly8_t poly8x16_t[16];
> >                 ^~~~~~~~~
> >
> > The polyX_t types are defined as unsigned integers in the "Arm C
> > Language Extension" document (101028_Q220_00_en). Emit typedefs based on
> > standard integer types for the GCC internal types, similar to those
> > emitted by Clang.
> >
> > Including linux/kernel.h to use ARRAY_SIZE() incidentally redefined
> > max(), causing a build bug due to different types, hence the seemingly
> > unrelated change.
> >
> > Reported-by: Jakov Petrina <jakov.petrina at sartura.hr>
> > Signed-off-by: Jean-Philippe Brucker <jean-philippe at linaro.org>
> > ---
>
> LGTM.
>
> Acked-by: Andrii Nakryiko <andriin at fb.com>

Applied. Thanks



More information about the linux-arm-kernel mailing list