This patch set deprecates bpf_object_open_opts.attach_prog_fd (in libbpf 0.7+) by extending bpf_program__set_attach_target() to support some more flexible scenarios. Existing fexit_bpf2bpf selftest is updated accordingly to not use deprecated APIs. While at it, also deprecate no-op relaxed_core_relocs option (they are always "relaxed"). Last patch also const-ifies all high-level libbpf attach APIs, as there is no reason for them to assume bpf_program/bpf_map modifications. Patch #1 also removes one more unneeded use of find_sec_def(), relying on prog->sec_def that's set during bpf_object__open() operation, simplifying upcoming refactoring a little bit more. All these changes are preparatory patches before SEC() handling refactoring that will come next. Andrii Nakryiko (7): libbpf: use pre-setup sec_def in libbpf_find_attach_btf_id() selftests/bpf: stop using relaxed_core_relocs which has no effect libbpf: deprecated bpf_object_open_opts.relaxed_core_relocs libbpf: allow skipping attach_func_name in bpf_program__set_attach_target() selftests/bpf: switch fexit_bpf2bpf selftest to set_attach_target() API libbpf: schedule open_opts.attach_prog_fd deprecation since v0.7 libbpf: constify all high-level program attach APIs tools/lib/bpf/libbpf.c | 98 ++++++++++--------- tools/lib/bpf/libbpf.h | 39 ++++---- tools/lib/bpf/libbpf_common.h | 5 + .../selftests/bpf/prog_tests/core_reloc.c | 3 +- .../selftests/bpf/prog_tests/fexit_bpf2bpf.c | 43 ++++---- 5 files changed, 107 insertions(+), 81 deletions(-) -- 2.30.2