Simplify skeleton usage by embedding source BPF object file inside skeleton itself. This allows to keep skeleton and object file in sync at all times with no chance of confusion. Also, add bpftool-gen.rst manpage, explaining concepts and ideas behind skeleton. In examples section it also includes a complete small BPF application utilizing skeleton, as a demonstration of API. Patch #2 also removes BPF_EMBED_OBJ, as there is currently no use of it. Andrii Nakryiko (3): bpftool, selftests/bpf: embed object file inside skeleton libbpf: remove BPF_EMBED_OBJ macro from libbpf.h bpftool: add gen subcommand manpage .../bpf/bpftool/Documentation/bpftool-gen.rst | 302 ++++++++++++++++++ tools/bpf/bpftool/Documentation/bpftool.rst | 3 +- tools/bpf/bpftool/gen.c | 226 ++++++++----- tools/lib/bpf/libbpf.h | 35 -- .../selftests/bpf/prog_tests/attach_probe.c | 4 +- .../selftests/bpf/prog_tests/core_extern.c | 4 +- .../selftests/bpf/prog_tests/fentry_fexit.c | 10 +- .../selftests/bpf/prog_tests/fentry_test.c | 7 +- tools/testing/selftests/bpf/prog_tests/mmap.c | 4 +- .../selftests/bpf/prog_tests/skeleton.c | 4 +- .../bpf/prog_tests/stacktrace_build_id.c | 4 +- .../bpf/prog_tests/stacktrace_build_id_nmi.c | 4 +- 12 files changed, 456 insertions(+), 151 deletions(-) create mode 100644 tools/bpf/bpftool/Documentation/bpftool-gen.rst -- 2.17.1