perf srcline: Skip srcline if .debug_line is missing
authorNamhyung Kim <namhyung@kernel.org>
Thu, 15 Dec 2022 19:28:12 +0000 (11:28 -0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 21 Dec 2022 17:52:40 +0000 (14:52 -0300)
The srcline info is from the .debug_line section.  No need to setup
addr2line subprocess if the section is missing.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Ian Rogers <irogers@google.com>
Link: https://lore.kernel.org/r/20221215192817.2734573-5-namhyung@kernel.org
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Milian Wolff <milian.wolff@kdab.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: LKML <linux-kernel@vger.kernel.org>
Cc: linux-perf-users@vger.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/srcline.c

index 5319efb..2c212e2 100644 (file)
@@ -550,6 +550,9 @@ static int addr2line(const char *dso_name, u64 addr,
        size_t inline_count = 0;
 
        if (!a2l) {
+               if (!filename__has_section(dso_name, ".debug_line"))
+                       goto out;
+
                dso->a2l = addr2line_subprocess_init(dso_name);
                a2l = dso->a2l;
        }