ENOENT is incorrectly propagated to caller, if requested symbol is present in dynamic linker symbol table and not present in symbol table. Signed-off-by: Mateusz Bieganski <bieganski.gm@xxxxxxxxx> --- tools/lib/bpf/elf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/lib/bpf/elf.c b/tools/lib/bpf/elf.c index 823f83ad819c..41839ef5bc97 100644 --- a/tools/lib/bpf/elf.c +++ b/tools/lib/bpf/elf.c @@ -439,8 +439,10 @@ int elf_resolve_syms_offsets(const char *binary_path, int cnt, struct elf_sym *sym; err = elf_sym_iter_new(&iter, elf_fd.elf, binary_path, sh_types[i], st_type); - if (err == -ENOENT) + if (err == -ENOENT) { + err = 0; continue; + } if (err) goto out; -- 2.39.5