Something like: diff --git a/tools/perf/util/symbol-elf.c b/tools/perf/util/symbol-elf.c index f3577f7d72fe..acb90969c6cf 100644 --- a/tools/perf/util/symbol-elf.c +++ b/tools/perf/util/symbol-elf.c @@ -1226,6 +1226,9 @@ int dso__load_sym(struct dso *dso, struct map *map, struct symsrc *syms_ss, if (sym.st_shndx == SHN_ABS) continue; + if (GELF_ST_TYPE(sym.st_info) != STT_FUNC) + continue; + sec = elf_getscn(runtime_ss->elf, sym.st_shndx); if (!sec) goto out_elf_end;