[PATCH v2] gdb: lx-symbols: store the abspath()

From: Johannes Berg
Date: Thu Dec 17 2020 - 03:18:37 EST


From: Johannes Berg <johannes.berg@xxxxxxxxx>

If we store the relative path, the user might later cd to a
different directory, and that would break the automatic symbol
resolving that happens when a module is loaded into the target
kernel. Fix this by storing the abspath() of each path given,
just like we already do for the cwd (os.getcwd() is absolute.)

Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
---
v2: break the long line
---
scripts/gdb/linux/symbols.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/scripts/gdb/linux/symbols.py b/scripts/gdb/linux/symbols.py
index 1be9763cf8bb..08d264ac328b 100644
--- a/scripts/gdb/linux/symbols.py
+++ b/scripts/gdb/linux/symbols.py
@@ -164,7 +164,8 @@ lx-symbols command."""
saved_state['breakpoint'].enabled = saved_state['enabled']

def invoke(self, arg, from_tty):
- self.module_paths = [os.path.expanduser(p) for p in arg.split()]
+ self.module_paths = [os.path.abspath(os.path.expanduser(p))
+ for p in arg.split()]
self.module_paths.append(os.getcwd())

# enforce update
--
2.26.2