libbpf: Support target-less SEC() definitions for BTF-backed programs
authorAndrii Nakryiko <andrii@kernel.org>
Thu, 28 Apr 2022 18:53:48 +0000 (11:53 -0700)
committerDaniel Borkmann <daniel@iogearbox.net>
Thu, 28 Apr 2022 21:46:04 +0000 (23:46 +0200)
commitcc7d8f2c8ecc003a67d4cf189d04124461524a16
tree852b94970589068d9c097dc73979fc794bf8469a
parent9af8efc45eb12c3f24a7053f994985ad28b4f29b
libbpf: Support target-less SEC() definitions for BTF-backed programs

Similar to previous patch, support target-less definitions like
SEC("fentry"), SEC("freplace"), etc. For such BTF-backed program types
it is expected that user will specify BTF target programmatically at
runtime using bpf_program__set_attach_target() *before* load phase. If
not, libbpf will report this as an error.

Aslo use SEC_ATTACH_BTF flag instead of explicitly listing a set of
types that are expected to require attach_btf_id. This was an accidental
omission during custom SEC() support refactoring.

Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Song Liu <songliubraving@fb.com>
Link: https://lore.kernel.org/bpf/20220428185349.3799599-3-andrii@kernel.org
tools/lib/bpf/libbpf.c