On Wed, Aug 12, 2020 at 7:42 AM Jean-Philippe Brucker <jean-philippe@xxxxxxxxxx> 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@xxxxxxxxxx> > Signed-off-by: Jean-Philippe Brucker <jean-philippe@xxxxxxxxxx> > --- LGTM. Acked-by: Andrii Nakryiko <andriin@xxxxxx> [...]