Re: [PATCH bpf v2] libbpf: Handle GCC built-in types for Arm NEON
From: Andrii Nakryiko <hidden>
Date: 2020-08-12 17:35:52
Also in:
bpf
On Wed, Aug 12, 2020 at 7:42 AM Jean-Philippe Brucker [off-list ref] 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 <redacted>
Signed-off-by: Jean-Philippe Brucker <redacted>
---LGTM. Acked-by: Andrii Nakryiko <redacted> [...] _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel