scripts/gdb/linux/modules.py | 3 +++ scripts/gdb/linux/symbols.py | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-)
This avoids spurious message:
(gdb) lx-symbols
loading vmlinux
No source file named kernel/module/main.c.
Signed-off-by: Etienne Buira <etienne.buira@free.fr>
---
scripts/gdb/linux/modules.py | 3 +++
scripts/gdb/linux/symbols.py | 4 ++--
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/scripts/gdb/linux/modules.py b/scripts/gdb/linux/modules.py
index 298dfcc25eae..fa15f872ddbe 100644
--- a/scripts/gdb/linux/modules.py
+++ b/scripts/gdb/linux/modules.py
@@ -19,6 +19,9 @@ from linux import cpus, utils, lists, constants
module_type = utils.CachedType("struct module")
+def has_modules():
+ return utils.gdb_eval_or_none("modules") is not None
+
def module_list():
global module_type
modules = utils.gdb_eval_or_none("modules")
diff --git a/scripts/gdb/linux/symbols.py b/scripts/gdb/linux/symbols.py
index e8316beb17a7..fb0f55d81686 100644
--- a/scripts/gdb/linux/symbols.py
+++ b/scripts/gdb/linux/symbols.py
@@ -178,13 +178,13 @@ lx-symbols command."""
self.load_all_symbols()
- if hasattr(gdb, 'Breakpoint'):
+ if hasattr(gdb, 'Breakpoint') and modules.has_modules():
if self.breakpoint is not None:
self.breakpoint.delete()
self.breakpoint = None
self.breakpoint = LoadModuleBreakpoint(
"kernel/module/main.c:do_init_module", self)
- else:
+ elif modules.has_modules():
gdb.write("Note: symbol update on module loading not supported "
"with this gdb version\n")
--
2.45.2
On 08.11.24 14:39, Etienne Buira wrote: > This avoids spurious message: > (gdb) lx-symbols > loading vmlinux > No source file named kernel/module/main.c. > > Signed-off-by: Etienne Buira <etienne.buira@free.fr> > --- > scripts/gdb/linux/modules.py | 3 +++ > scripts/gdb/linux/symbols.py | 4 ++-- > 2 files changed, 5 insertions(+), 2 deletions(-) > > diff --git a/scripts/gdb/linux/modules.py b/scripts/gdb/linux/modules.py > index 298dfcc25eae..fa15f872ddbe 100644 > --- a/scripts/gdb/linux/modules.py > +++ b/scripts/gdb/linux/modules.py > @@ -19,6 +19,9 @@ from linux import cpus, utils, lists, constants > module_type = utils.CachedType("struct module") > > > +def has_modules(): > + return utils.gdb_eval_or_none("modules") is not None > + > def module_list(): > global module_type > modules = utils.gdb_eval_or_none("modules") > diff --git a/scripts/gdb/linux/symbols.py b/scripts/gdb/linux/symbols.py > index e8316beb17a7..fb0f55d81686 100644 > --- a/scripts/gdb/linux/symbols.py > +++ b/scripts/gdb/linux/symbols.py > @@ -178,13 +178,13 @@ lx-symbols command.""" > > self.load_all_symbols() > if not modules.has_modules(): return > - if hasattr(gdb, 'Breakpoint'): > + if hasattr(gdb, 'Breakpoint') and modules.has_modules(): > if self.breakpoint is not None: > self.breakpoint.delete() > self.breakpoint = None > self.breakpoint = LoadModuleBreakpoint( > "kernel/module/main.c:do_init_module", self) > - else: > + elif modules.has_modules(): > gdb.write("Note: symbol update on module loading not supported " > "with this gdb version\n") > Looks good otherwise. Jan -- Siemens AG, Technology Linux Expert Center
© 2016 - 2024 Red Hat, Inc.