This series aims to resolve further issues with the BTF typed data dumping interfaces in libbpf.
Compilation failures with use of __int128 on 32-bit platforms were reported [1]. As a result, the use of __int128 in libbpf typed data dumping is replaced with __u64 usage for bitfield manipulations. In the case of 128-bit integer values, they are simply split into two 64-bit hex values for display (patch 1).
Tests are added for __int128 display in patch 2, using conditional compilation to avoid problems with a lack of __int128 support.
Patch 3 resolves an issue Andrii noted about error propagation when handling enum data display.
More followup work is required to ensure multi-dimensional char array display works correctly.
[1] https://lore.kernel.org/bpf/1626362126-27775-1-git-send-email-alan.maguire@o...
Alan Maguire (3): libbpf: avoid use of __int128 in typed dump display selftests/bpf: add __int128-specific tests for typed data dump libbpf: propagate errors when retrieving enum value for typed data display
tools/lib/bpf/btf_dump.c | 67 +++++++++++++---------- tools/testing/selftests/bpf/prog_tests/btf_dump.c | 17 ++++++ 2 files changed, 55 insertions(+), 29 deletions(-)