contrib/plugins/uftrace_symbols.py: handle missing source line from addr2line

Some symbols have only a file information, and no line information. In
this case, addr2line reports '?'. Replace with 0 to guarantee consistent
data for consumers.

Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Link: https://lore.kernel.org/qemu-devel/20260424194451.1439316-3-pierrick.bouvier@oss.qualcomm.com
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
This commit is contained in:
Pierrick Bouvier
2026-04-24 12:44:50 -07:00
parent 29d84c34a5
commit 068076d4df

View File

@@ -70,7 +70,10 @@ def find_symbols_locations(elf_file, symbols):
file, line = out[i].split(':')
# addr2line may return 'line (discriminator [0-9]+)' sometimes,
# remove this to keep only line number.
line = line.split(' ')[0]
if line == '?':
line = 0
else:
line = int(line.split(' ')[0])
s.set_loc(file, line)
class BinaryFile: