You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pahole from v1.24 generates a new BTF_KIND_ENUM64. The library has support for this as well, and only encodes an enum64 if necessary to represent a type. This still causes a problem when compiling an old kernel with a new pahole, since TestRoundtripVmlinux then tries to load the enum64 into the kernel.
This shows that it would be nice^H^H^H it's necessary to have a general workaround for this. libbpf does the following when enum64 is not supported:
It clears the kind flag on BTF_KIND_ENUM and BTF_KIND_ENUM64. This is used to specify signedness and only cosmetic from what I can tell.
Replace an ENUM64 with a 64-bit integer on kernels which don't
support the former. This behaviour is similar to libbpf, which replaces
the ENUM64 with a union instead.
Remove the old heuristic which encoded a 64-bit enum as a 32-bit enum
if none of the values exceeded math.MaxUint32. The heuristic has no
tests and doesn't take the signedness of the enum into account.
Fixescilium#1116
Signed-off-by: Lorenz Bauer <lmb@isovalent.com>
pahole from v1.24 generates a new BTF_KIND_ENUM64. The library has support for this as well, and only encodes an enum64 if necessary to represent a type. This still causes a problem when compiling an old kernel with a new pahole, since
TestRoundtripVmlinux
then tries to load the enum64 into the kernel.This shows that it would be nice^H^H^H it's necessary to have a general workaround for this.
libbpf
does the following when enum64 is not supported:Details are here: https://lwn.net/ml/bpf/20220603015937.1190992-1-yhs@fb.com/
The text was updated successfully, but these errors were encountered: