summaryrefslogtreecommitdiff
path: root/scripts/Makefile.thinlto
diff options
context:
space:
mode:
authorIan Rogers <irogers@google.com>2026-10-25 23:50:43 -0700
committerArnaldo Carvalho de Melo <acme@redhat.com>2026-10-27 16:57:56 -0300
commit62d7cdc8d58702feb31b320f1713642e3977d7f3 (patch)
tree23742674e5acef95c8be3bb777fbce812acdd66d /scripts/Makefile.thinlto
parentcb28bc71aff8300d9101cebd4ad769ccb49d36bd (diff)
downloadlinux-62d7cdc8d58702feb31b320f1713642e3977d7f3.tar.gz
linux-62d7cdc8d58702feb31b320f1713642e3977d7f3.zip
perf libdw: Optimize fallback logic for missing DWARF
When libdw encounters a DWARF definition it cannot accurately un-inline or an address block natively missing structural line maps, dwfl_module_getsrc() returns NULL. Previously, libdw__addr2line() returned -1 in both dwfl_module_getdwarf() and dwfl_module_getsrc() failure paths while addr2line() in srcline.c only stopped its fallback loop on ret > 0. This caused perf's addr2line_style loop to fall back to llvm, libbfd, and the cmd__addr2line() subprocess wrapper on every unmapped address or stripped DSO. Update the addr2line_style pipeline return semantics consistently: 1. Backends return 0 to denote conclusively missing information (e.g. valid ELF but no DWARF inside, or parsed DWARF with no mapped lines), stopping the fallback loop. 2. Backends (and uncompiled stubs) return < 0 to denote initialization or backend errors, instructing the loop to iterate to the next configured fallback. 3. Backends return > 0 on successful source line resolution. Fixes: bf96e296d52d74a1 ("perf libdw: Fix Dwfl discovery with split files") Signed-off-by: Ian Rogers <irogers@google.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alessio Podda <aleph.pi.gh@gmail.com> Cc: Alireza Haghdoost <haghdoost@uber.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: James Clark <james.clark@linaro.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Michael Liang <mliang@purestorage.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Shimin Guo <shimin.guo@skydio.com> Cc: Tanushree Shah <tshah@linux.ibm.com> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions