libbpf: Allow specifying both ELF and raw BTF for CO-RE BTF override
authorAndrii Nakryiko <andriin@fb.com>
Thu, 8 Oct 2020 00:10:23 +0000 (17:10 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Thu, 8 Oct 2020 01:50:27 +0000 (18:50 -0700)
Use generalized BTF parsing logic, making it possible to parse BTF both from
ELF file, as well as a raw BTF dump. This makes it easier to write custom
tests with manually generated BTFs.

Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20201008001025.292064-4-andrii@kernel.org
tools/lib/bpf/libbpf.c

index 032cf00..105cb8a 100644 (file)
@@ -5842,7 +5842,7 @@ bpf_object__relocate_core(struct bpf_object *obj, const char *targ_btf_path)
                return 0;
 
        if (targ_btf_path)
-               targ_btf = btf__parse_elf(targ_btf_path, NULL);
+               targ_btf = btf__parse(targ_btf_path, NULL);
        else
                targ_btf = obj->btf_vmlinux;
        if (IS_ERR_OR_NULL(targ_btf)) {