main/linux-headers: fix swab.h on musl, enable linux-tools/bcc/libbpf on more architectures
linux-tools
is broken on arm* because of errors like error: unknown type name '__always_inline'
(see #11119 (closed)). The same problem exists for all architectures in community/libbpf
and community/bcc
, but there it was worked around using a patch to add #include <linux/stddef.h>
to various files.
Indeed it seems like including linux/stddef.h
is enough to get rid of the error. But the source of the problem is that it is not included from the swab.h
header in main/linux-headers
. Apparently this doesn't cause problems for glibc (it's probably defined somewhere in its internal headers...), but it does not work on musl.
A patch was submitted for this upstream at some point but for some reason it never received any reply. For now I have added it to main/linux-headers
: This fixes the linux-tools
build on arm* and allows getting rid of the workarounds in bcc+libbpf.
I used the chance to enable more architectures in linux-tools, bcc and libbpf. All of them seem to build sucessfully on CI at least.
Fixes #11119 (closed) (I hope so at least, haven't tested armhf specifically...)
Cc: @mps, @acjensen, @ncopa (seems like you tried to fix this before in 0caf800f)