This patch set removes all the deprecated APIs in preparation for 1.0 release. It also makes libbpf_set_strict_mode() a no-op (but keeps it to let per-1.0 applications buildable and dynamically linkable against libbpf 1.0 if they were already libbpf-1.0 ready) and starts enforcing all the behaviors that were previously opt-in through libbpf_set_strict_mode(). xsk.{c,h} parts that are now properly provided by libxdp ([0]) are still used by xdpxceiver.c in selftest/bpf, so I've moved xsk.{c,h} with barely any changes to under selftests/bpf. Other than that, apart from removing all the LIBBPF_DEPRECATED-marked APIs, there is a bunch of internal clean ups allowed by that. I've also "restored" libbpf.map inheritance chain while removing all the deprecated APIs. I think that's the right way to do this, as applications using libbpf as shared library but not relying on any deprecated APIs (i.e., "good citizens" that prepared for libbpf 1.0 release ahead of time to minimize disruption) should be able to link both against 0.x and 1.x versions. Either way, it doesn't seem to break anything and preserve a history on when each "surviving" API was added. NOTE. This shouldn't be yet landed until Jiri's changes ([1]) removing last deprecated API usage in perf lands. But I thought to post it now to get the ball rolling. [0] https://github.com/xdp-project/xdp-tools/tree/master/lib/libxdp [1] https://patchwork.kernel.org/project/netdevbpf/list/?series=647121&state=* Andrii Nakryiko (15): libbpf: move xsk.{c,h} into selftests/bpf libbpf: remove deprecated low-level APIs libbpf: remove deprecated XDP APIs libbpf: remove deprecated probing APIs libbpf: remove deprecated BTF APIs libbpf: clean up perfbuf APIs libbpf: remove prog_info_linear APIs libbpf: remove most other deprecated high-level APIs libbpf: remove multi-instance and custom private data APIs libbpf: cleanup LIBBPF_DEPRECATED_SINCE supporting macros for v0.x libbpf: remove internal multi-instance prog support libbpf: clean up SEC() handling selftests/bpf: remove last tests with legacy BPF map definitions libbpf: enforce strict libbpf 1.0 behaviors libbpf: fix up few libbpf.map problems tools/lib/bpf/Build | 2 +- tools/lib/bpf/Makefile | 2 +- tools/lib/bpf/bpf.c | 178 +- tools/lib/bpf/bpf.h | 83 - tools/lib/bpf/btf.c | 183 +-- tools/lib/bpf/btf.h | 86 +- tools/lib/bpf/btf_dump.c | 23 +- tools/lib/bpf/libbpf.c | 1429 ++--------------- tools/lib/bpf/libbpf.h | 469 +----- tools/lib/bpf/libbpf.map | 113 +- tools/lib/bpf/libbpf_common.h | 16 +- tools/lib/bpf/libbpf_internal.h | 24 +- tools/lib/bpf/libbpf_legacy.h | 28 +- tools/lib/bpf/libbpf_probes.c | 125 +- tools/lib/bpf/netlink.c | 62 +- tools/testing/selftests/bpf/Makefile | 1 + tools/testing/selftests/bpf/bpf_legacy.h | 9 - tools/testing/selftests/bpf/prog_tests/btf.c | 1 - .../selftests/bpf/progs/test_btf_haskv.c | 51 - .../selftests/bpf/progs/test_btf_newkv.c | 18 - tools/testing/selftests/bpf/xdpxceiver.c | 2 +- tools/{lib => testing/selftests}/bpf/xsk.c | 76 +- tools/{lib => testing/selftests}/bpf/xsk.h | 29 +- 23 files changed, 260 insertions(+), 2750 deletions(-) delete mode 100644 tools/testing/selftests/bpf/progs/test_btf_haskv.c rename tools/{lib => testing/selftests}/bpf/xsk.c (95%) rename tools/{lib => testing/selftests}/bpf/xsk.h (84%) -- 2.30.2