Python doesn't do automatic expansion of paths. In case one passes
path of the from ~/foo/bar the gdb scripts won't automatically expand
that and as a result the symbols files won't be loaded. Fix this
by explicitly expanding all paths which begin with "~"

Signed-off-by: Nikolay Borisov <n.borisov.l...@gmail.com>
---
 scripts/gdb/linux/symbols.py | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/scripts/gdb/linux/symbols.py b/scripts/gdb/linux/symbols.py
index 9a0f8923f67c..2f5b2bee8c34 100644
--- a/scripts/gdb/linux/symbols.py
+++ b/scripts/gdb/linux/symbols.py
@@ -81,6 +81,12 @@ lx-symbols command."""
                         self.module_files.append(root + "/" + name)
         self.module_files_updated = True
 
+    def __expand_homedir(self):
+        for index, path in enumerate(self.module_paths):
+            if path.startswith("~"):
+                self.module_paths[index] = os.path.expanduser(path)
+
+
     def _get_module_file(self, module_name):
         module_pattern = ".*/{0}\.ko$".format(
             module_name.replace("_", r"[_\-]"))
@@ -160,6 +166,7 @@ lx-symbols command."""
         self.module_files = []
         self.module_files_updated = False
 
+        self.__expand_homedir()
         self.load_all_symbols()
 
         if hasattr(gdb, 'Breakpoint'):
-- 
2.7.4

Reply via email to