libbpf: Skip BTF fixup if object file has no BTF
authorAndrii Nakryiko <andrii@kernel.org>
Fri, 19 Mar 2021 20:59:08 +0000 (13:59 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Tue, 23 Mar 2021 01:58:25 +0000 (18:58 -0700)
Skip BTF fixup step when input object file is missing BTF altogether.

Fixes: 8fd27bf69b86 ("libbpf: Add BPF static linker BTF and BTF.ext support")
Reported-by: Jiri Olsa <jolsa@redhat.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Tested-by: Jiri Olsa <jolsa@redhat.com>
Link: https://lore.kernel.org/bpf/20210319205909.1748642-3-andrii@kernel.org
tools/lib/bpf/linker.c

index b4fff91..5e0aa2f 100644 (file)
@@ -1313,6 +1313,9 @@ static int linker_fixup_btf(struct src_obj *obj)
        struct src_sec *sec;
        int i, j, n, m;
 
+       if (!obj->btf)
+               return 0;
+
        n = btf__get_nr_types(obj->btf);
        for (i = 1; i <= n; i++) {
                struct btf_var_secinfo *vi;