Fix bpftool logic of stripping away const/volatile modifiers for all global variables during BPF skeleton generation. See patch #1 for details on when existing logic breaks and why it's important. Support special .strip_mods=true mode in btf_dump. Add selftests validating that everything works as expected. Recent example of when this has caused problems can be found in [0]. [0] https://github.com/iovisor/bcc/pull/2994#issuecomment-650588533 Cc: Anton Protopopov <a.s.protopopov@xxxxxxxxx> Andrii Nakryiko (3): libbpf: support stripping modifiers for btf_dump selftests/bpf: add selftest validating btf_dump's mod-stripping output tools/bpftool: strip away modifiers from global variables tools/bpf/bpftool/gen.c | 13 ++--- tools/lib/bpf/btf.h | 6 +++ tools/lib/bpf/btf_dump.c | 18 +++++-- .../selftests/bpf/prog_tests/btf_dump.c | 5 +- .../selftests/bpf/prog_tests/skeleton.c | 6 +-- .../bpf/progs/btf_dump_test_case_strip_mods.c | 50 +++++++++++++++++++ .../selftests/bpf/progs/test_skeleton.c | 6 ++- 7 files changed, 84 insertions(+), 20 deletions(-) create mode 100644 tools/testing/selftests/bpf/progs/btf_dump_test_case_strip_mods.c -- 2.24.1