diff options
author | Jean-Philippe Brucker <jean-philippe@linaro.org> | 2020-08-12 17:39:10 +0300 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2020-08-13 04:11:51 +0300 |
commit | 702eddc77a905782083b14ccd05b23840675fd18 (patch) | |
tree | a35551fc9f48c2e498a012e4c4f4b35af1130b60 /kernel/bpf/stackmap.c | |
parent | 8faf7fc597d59b142af41ddd4a2d59485f75f88a (diff) | |
download | linux-702eddc77a905782083b14ccd05b23840675fd18.tar.xz |
libbpf: Handle GCC built-in types for Arm NEON
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@sartura.hr>
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Link: https://lore.kernel.org/bpf/20200812143909.3293280-1-jean-philippe@linaro.org
Diffstat (limited to 'kernel/bpf/stackmap.c')
0 files changed, 0 insertions, 0 deletions