gdb: lx-symbols: do not error out on monolithic build
authorEtienne Buira <etienne.buira@free.fr>
Fri, 8 Nov 2024 16:45:32 +0000 (17:45 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 15 Nov 2024 06:51:14 +0000 (22:51 -0800)
This avoids spurious message:
(gdb) lx-symbols
loading vmlinux
No source file named kernel/module/main.c.

Link: https://lkml.kernel.org/r/Zy5ALByQtpO-ddh4@Z926fQmE5jqhFMgp6
Signed-off-by: Etienne Buira <etienne.buira@free.fr>
Cc: Andrew Ballance <andrewjballance@gmail.com>
Cc: Kieran Bingham <kbingham@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
scripts/gdb/linux/modules.py
scripts/gdb/linux/symbols.py

index 298dfcc..fa15f87 100644 (file)
@@ -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")
index e8316be..f6c1b06 100644 (file)
@@ -178,6 +178,9 @@ lx-symbols command."""
 
         self.load_all_symbols()
 
+        if not modules.has_modules():
+            return
+
         if hasattr(gdb, 'Breakpoint'):
             if self.breakpoint is not None:
                 self.breakpoint.delete()