* [PATCH 0/2] contrib/plugins/uftrace_symbols.py: fix issues to extract symbol/srcline
@ 2026-04-23 21:38 Pierrick Bouvier
2026-04-23 21:38 ` [PATCH 1/2] contrib/plugins/uftrace_symbols.py: fix symbols reading Pierrick Bouvier
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Pierrick Bouvier @ 2026-04-23 21:38 UTC (permalink / raw)
To: qemu-devel
Cc: Pierrick Bouvier, Alex Bennée, Philippe Mathieu-Daudé,
Matheus Tavares Bernardino
Testing this on hexagon binaries exposed issues with symbols having file but no
line information.
Pierrick Bouvier (2):
contrib/plugins/uftrace_symbols.py: fix symbols reading
contrib/plugins/uftrace_symbols.py: handle missing source line from
addr2line
contrib/plugins/uftrace_symbols.py | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
--
2.47.3
^ permalink raw reply [flat|nested] 9+ messages in thread* [PATCH 1/2] contrib/plugins/uftrace_symbols.py: fix symbols reading 2026-04-23 21:38 [PATCH 0/2] contrib/plugins/uftrace_symbols.py: fix issues to extract symbol/srcline Pierrick Bouvier @ 2026-04-23 21:38 ` Pierrick Bouvier 2026-04-24 7:40 ` Manos Pitsidianakis 2026-04-24 7:41 ` Manos Pitsidianakis 2026-04-23 21:38 ` [PATCH 2/2] contrib/plugins/uftrace_symbols.py: handle missing source line from addr2line Pierrick Bouvier 2026-04-24 19:46 ` [PATCH 0/2] contrib/plugins/uftrace_symbols.py: fix issues to extract symbol/srcline Pierrick Bouvier 2 siblings, 2 replies; 9+ messages in thread From: Pierrick Bouvier @ 2026-04-23 21:38 UTC (permalink / raw) To: qemu-devel Cc: Pierrick Bouvier, Alex Bennée, Philippe Mathieu-Daudé, Matheus Tavares Bernardino When running this on hexagon binary, we observe some undefined symbols without any address or size. Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> --- contrib/plugins/uftrace_symbols.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/plugins/uftrace_symbols.py b/contrib/plugins/uftrace_symbols.py index 02d1221228c..895fa1a6b7a 100755 --- a/contrib/plugins/uftrace_symbols.py +++ b/contrib/plugins/uftrace_symbols.py @@ -36,8 +36,8 @@ def get_symbols(elf_file): out = out.strip().split('\n') for line in out: info = line.split(' ') - if len(info) == 3: - # missing size information + if len(info) < 4: + # missing size/address information continue addr, size, type, name = info # add only symbols from .text section -- 2.47.3 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] contrib/plugins/uftrace_symbols.py: fix symbols reading 2026-04-23 21:38 ` [PATCH 1/2] contrib/plugins/uftrace_symbols.py: fix symbols reading Pierrick Bouvier @ 2026-04-24 7:40 ` Manos Pitsidianakis 2026-04-24 7:41 ` Manos Pitsidianakis 1 sibling, 0 replies; 9+ messages in thread From: Manos Pitsidianakis @ 2026-04-24 7:40 UTC (permalink / raw) To: qemu-devel, Pierrick Bouvier Cc: Pierrick Bouvier, Alex Bennée, Philippe Mathieu-Daudé , Matheus Tavares Bernardino On Fri, 24 Apr 2026 00:38, Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> wrote: >When running this on hexagon binary, we observe some undefined symbols >without any address or size. > >Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> >--- Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> > contrib/plugins/uftrace_symbols.py | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > >diff --git a/contrib/plugins/uftrace_symbols.py b/contrib/plugins/uftrace_symbols.py >index 02d1221228c..895fa1a6b7a 100755 >--- a/contrib/plugins/uftrace_symbols.py >+++ b/contrib/plugins/uftrace_symbols.py >@@ -36,8 +36,8 @@ def get_symbols(elf_file): > out = out.strip().split('\n') > for line in out: > info = line.split(' ') >- if len(info) == 3: >- # missing size information >+ if len(info) < 4: >+ # missing size/address information > continue > addr, size, type, name = info > # add only symbols from .text section >-- >2.47.3 > > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] contrib/plugins/uftrace_symbols.py: fix symbols reading 2026-04-23 21:38 ` [PATCH 1/2] contrib/plugins/uftrace_symbols.py: fix symbols reading Pierrick Bouvier 2026-04-24 7:40 ` Manos Pitsidianakis @ 2026-04-24 7:41 ` Manos Pitsidianakis 2026-04-24 19:18 ` Pierrick Bouvier 1 sibling, 1 reply; 9+ messages in thread From: Manos Pitsidianakis @ 2026-04-24 7:41 UTC (permalink / raw) To: qemu-devel, Pierrick Bouvier Cc: Pierrick Bouvier, Alex Bennée, Philippe Mathieu-Daudé , Matheus Tavares Bernardino On Fri, 24 Apr 2026 00:38, Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> wrote: >When running this on hexagon binary, we observe some undefined symbols >without any address or size. > >Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> >--- > contrib/plugins/uftrace_symbols.py | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > >diff --git a/contrib/plugins/uftrace_symbols.py b/contrib/plugins/uftrace_symbols.py >index 02d1221228c..895fa1a6b7a 100755 >--- a/contrib/plugins/uftrace_symbols.py >+++ b/contrib/plugins/uftrace_symbols.py >@@ -36,8 +36,8 @@ def get_symbols(elf_file): > out = out.strip().split('\n') > for line in out: > info = line.split(' ') >- if len(info) == 3: >- # missing size information >+ if len(info) < 4: >+ # missing size/address information On a second thought, shouldn't this be != 4? Otherwise the unpacking will fail with ValueError: too many values to unpack (expected 4) > continue > addr, size, type, name = info > # add only symbols from .text section >-- >2.47.3 > > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] contrib/plugins/uftrace_symbols.py: fix symbols reading 2026-04-24 7:41 ` Manos Pitsidianakis @ 2026-04-24 19:18 ` Pierrick Bouvier 2026-04-24 19:21 ` Pierrick Bouvier 0 siblings, 1 reply; 9+ messages in thread From: Pierrick Bouvier @ 2026-04-24 19:18 UTC (permalink / raw) To: Manos Pitsidianakis, qemu-devel Cc: Alex Benn é e, Philippe Mathieu-Daud é, Matheus Tavares Bernardino On 4/24/2026 12:41 AM, Manos Pitsidianakis wrote: > On Fri, 24 Apr 2026 00:38, Pierrick Bouvier > <pierrick.bouvier@oss.qualcomm.com> wrote: >> When running this on hexagon binary, we observe some undefined symbols >> without any address or size. >> >> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> >> --- >> contrib/plugins/uftrace_symbols.py | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/contrib/plugins/uftrace_symbols.py b/contrib/plugins/ >> uftrace_symbols.py >> index 02d1221228c..895fa1a6b7a 100755 >> --- a/contrib/plugins/uftrace_symbols.py >> +++ b/contrib/plugins/uftrace_symbols.py >> @@ -36,8 +36,8 @@ def get_symbols(elf_file): >> out = out.strip().split('\n') >> for line in out: >> info = line.split(' ') >> - if len(info) == 3: >> - # missing size information >> + if len(info) < 4: >> + # missing size/address information > > On a second thought, shouldn't this be != 4? Otherwise the unpacking > will fail with ValueError: too many values to unpack (expected 4) > I don't expect nm to add new columns, but you're right, it's probably safer! I'll change that. >> continue >> addr, size, type, name = info >> # add only symbols from .text section >> -- >> 2.47.3 >> >> Regards, Pierrick ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] contrib/plugins/uftrace_symbols.py: fix symbols reading 2026-04-24 19:18 ` Pierrick Bouvier @ 2026-04-24 19:21 ` Pierrick Bouvier 0 siblings, 0 replies; 9+ messages in thread From: Pierrick Bouvier @ 2026-04-24 19:21 UTC (permalink / raw) To: Manos Pitsidianakis, qemu-devel Cc: Alex Benn é e, Philippe Mathieu-Daud é, Matheus Tavares Bernardino On 4/24/2026 12:18 PM, Pierrick Bouvier wrote: > On 4/24/2026 12:41 AM, Manos Pitsidianakis wrote: >> On Fri, 24 Apr 2026 00:38, Pierrick Bouvier >> <pierrick.bouvier@oss.qualcomm.com> wrote: >>> When running this on hexagon binary, we observe some undefined symbols >>> without any address or size. >>> >>> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> >>> --- >>> contrib/plugins/uftrace_symbols.py | 4 ++-- >>> 1 file changed, 2 insertions(+), 2 deletions(-) >>> >>> diff --git a/contrib/plugins/uftrace_symbols.py b/contrib/plugins/ >>> uftrace_symbols.py >>> index 02d1221228c..895fa1a6b7a 100755 >>> --- a/contrib/plugins/uftrace_symbols.py >>> +++ b/contrib/plugins/uftrace_symbols.py >>> @@ -36,8 +36,8 @@ def get_symbols(elf_file): >>> out = out.strip().split('\n') >>> for line in out: >>> info = line.split(' ') >>> - if len(info) == 3: >>> - # missing size information >>> + if len(info) < 4: >>> + # missing size/address information >> >> On a second thought, shouldn't this be != 4? Otherwise the unpacking >> will fail with ValueError: too many values to unpack (expected 4) >> > > I don't expect nm to add new columns, but you're right, it's probably > safer! I'll change that. It seems like python has unpack operator (*_) to deal with that also, but I like the idea to force format to be the one we expect strictly. > >> continue >>> addr, size, type, name = info >>> # add only symbols from .text section >>> -- >>> 2.47.3 >>> >>> > > Regards, > Pierrick ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 2/2] contrib/plugins/uftrace_symbols.py: handle missing source line from addr2line 2026-04-23 21:38 [PATCH 0/2] contrib/plugins/uftrace_symbols.py: fix issues to extract symbol/srcline Pierrick Bouvier 2026-04-23 21:38 ` [PATCH 1/2] contrib/plugins/uftrace_symbols.py: fix symbols reading Pierrick Bouvier @ 2026-04-23 21:38 ` Pierrick Bouvier 2026-04-24 7:43 ` Manos Pitsidianakis 2026-04-24 19:46 ` [PATCH 0/2] contrib/plugins/uftrace_symbols.py: fix issues to extract symbol/srcline Pierrick Bouvier 2 siblings, 1 reply; 9+ messages in thread From: Pierrick Bouvier @ 2026-04-23 21:38 UTC (permalink / raw) To: qemu-devel Cc: Pierrick Bouvier, Alex Bennée, Philippe Mathieu-Daudé, Matheus Tavares Bernardino 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. Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> --- contrib/plugins/uftrace_symbols.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/contrib/plugins/uftrace_symbols.py b/contrib/plugins/uftrace_symbols.py index 895fa1a6b7a..a71865805c5 100755 --- a/contrib/plugins/uftrace_symbols.py +++ b/contrib/plugins/uftrace_symbols.py @@ -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: -- 2.47.3 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] contrib/plugins/uftrace_symbols.py: handle missing source line from addr2line 2026-04-23 21:38 ` [PATCH 2/2] contrib/plugins/uftrace_symbols.py: handle missing source line from addr2line Pierrick Bouvier @ 2026-04-24 7:43 ` Manos Pitsidianakis 0 siblings, 0 replies; 9+ messages in thread From: Manos Pitsidianakis @ 2026-04-24 7:43 UTC (permalink / raw) To: qemu-devel, Pierrick Bouvier Cc: Pierrick Bouvier, Alex Bennée, Philippe Mathieu-Daudé , Matheus Tavares Bernardino On Fri, 24 Apr 2026 00:38, Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> wrote: >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. > >Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> >--- Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> > contrib/plugins/uftrace_symbols.py | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > >diff --git a/contrib/plugins/uftrace_symbols.py b/contrib/plugins/uftrace_symbols.py >index 895fa1a6b7a..a71865805c5 100755 >--- a/contrib/plugins/uftrace_symbols.py >+++ b/contrib/plugins/uftrace_symbols.py >@@ -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: >-- >2.47.3 > > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 0/2] contrib/plugins/uftrace_symbols.py: fix issues to extract symbol/srcline 2026-04-23 21:38 [PATCH 0/2] contrib/plugins/uftrace_symbols.py: fix issues to extract symbol/srcline Pierrick Bouvier 2026-04-23 21:38 ` [PATCH 1/2] contrib/plugins/uftrace_symbols.py: fix symbols reading Pierrick Bouvier 2026-04-23 21:38 ` [PATCH 2/2] contrib/plugins/uftrace_symbols.py: handle missing source line from addr2line Pierrick Bouvier @ 2026-04-24 19:46 ` Pierrick Bouvier 2 siblings, 0 replies; 9+ messages in thread From: Pierrick Bouvier @ 2026-04-24 19:46 UTC (permalink / raw) To: qemu-devel Cc: Alex Bennée, Philippe Mathieu-Daudé, Matheus Tavares Bernardino, Manos Pitsidianakis On 4/23/2026 2:38 PM, Pierrick Bouvier wrote: > Testing this on hexagon binaries exposed issues with symbols having file but no > line information. > > Pierrick Bouvier (2): > contrib/plugins/uftrace_symbols.py: fix symbols reading > contrib/plugins/uftrace_symbols.py: handle missing source line from > addr2line > > contrib/plugins/uftrace_symbols.py | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > v2 sent: https://lore.kernel.org/qemu-devel/20260424194451.1439316-1-pierrick.bouvier@oss.qualcomm.com/T/#t Regards, Pierrick ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-04-24 19:46 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-04-23 21:38 [PATCH 0/2] contrib/plugins/uftrace_symbols.py: fix issues to extract symbol/srcline Pierrick Bouvier 2026-04-23 21:38 ` [PATCH 1/2] contrib/plugins/uftrace_symbols.py: fix symbols reading Pierrick Bouvier 2026-04-24 7:40 ` Manos Pitsidianakis 2026-04-24 7:41 ` Manos Pitsidianakis 2026-04-24 19:18 ` Pierrick Bouvier 2026-04-24 19:21 ` Pierrick Bouvier 2026-04-23 21:38 ` [PATCH 2/2] contrib/plugins/uftrace_symbols.py: handle missing source line from addr2line Pierrick Bouvier 2026-04-24 7:43 ` Manos Pitsidianakis 2026-04-24 19:46 ` [PATCH 0/2] contrib/plugins/uftrace_symbols.py: fix issues to extract symbol/srcline Pierrick Bouvier
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.