Re: scripts/gdb: received an error when invoking lx-symbols

From: Jan Kiszka
Date: Wed Jul 22 2020 - 05:19:52 EST


On 22.07.20 11:13, Stefano Garzarella wrote:
Hi Jan, Kieran,
with the last Linux 5.8-rc6 I have some problems with gdb scripts.
Everything is fine with Linux 5.7.

When I call lx-symbols, I received this error while loading modules
symbols:

(gdb) set python print-stack full
(gdb) target remote :1234
Remote debugging using :1234
arch_atomic_read (v=<optimized out>) at ../arch/x86/kernel/process.c:687
687 trace_cpu_idle_rcuidle(PWR_EVENT_EXIT, smp_processor_id());
(gdb) lx-symbols
loading vmlinux
scanning for modules in /home/stefano/repos/linux_vsock/build-tiny-config
loading @0xffffffffc0169000: /home/stefano/repos/linux_vsock/build-tiny-config/drivers/net/tun.ko
Traceback (most recent call last):
File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 174, in invoke
self.load_all_symbols()
File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 161, in load_all_symbols
[self.load_module_symbols(module) for module in module_list]
File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 161, in <listcomp>
[self.load_module_symbols(module) for module in module_list]
File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 131, in load_module_symbols
sections=self._section_arguments(module))
File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 98, in _section_arguments
section_name_to_address = {
File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 99, in <dictcomp>
attrs[n]['name'].string(): attrs[n]['address']
gdb.error: There is no member named name.
Error occurred in Python: There is no member named name.

I'll try to bisect.

Dig for changes in the data structure (module_sect_attr).

Jan

--
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux