Skip to content

main/linux-headers: fix swab.h on musl, enable linux-tools/bcc/libbpf on more architectures

Minecrell requested to merge Minecrell/aports:swab-musl into master

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)

Merge request reports