[PATCH] scripts/gdb: Account for changes in module data structure

From: Jan Kiszka
Date: Sun Mar 13 2016 - 15:27:59 EST


From: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>

Commit 7523e4dc50 factored out the module_layout structure. Adjust the
symbol loader and the lsmod command to this.

Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
---

Probably too late for 4.5, still a regression.

scripts/gdb/linux/modules.py | 5 +++--
scripts/gdb/linux/symbols.py | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/scripts/gdb/linux/modules.py b/scripts/gdb/linux/modules.py
index 25db8cf..0a35d6d 100644
--- a/scripts/gdb/linux/modules.py
+++ b/scripts/gdb/linux/modules.py
@@ -73,10 +73,11 @@ class LxLsmod(gdb.Command):
" " if utils.get_long_type().sizeof == 8 else ""))

for module in module_list():
+ layout = module['core_layout']
gdb.write("{address} {name:<19} {size:>8} {ref}".format(
- address=str(module['module_core']).split()[0],
+ address=str(layout['base']).split()[0],
name=module['name'].string(),
- size=str(module['core_size']),
+ size=str(layout['size']),
ref=str(module['refcnt']['counter'])))

source_list = module['source_list']
diff --git a/scripts/gdb/linux/symbols.py b/scripts/gdb/linux/symbols.py
index 627750c..9a0f892 100644
--- a/scripts/gdb/linux/symbols.py
+++ b/scripts/gdb/linux/symbols.py
@@ -108,7 +108,7 @@ lx-symbols command."""

def load_module_symbols(self, module):
module_name = module['name'].string()
- module_addr = str(module['module_core']).split()[0]
+ module_addr = str(module['core_layout']['base']).split()[0]

module_file = self._get_module_file(module_name)
if not module_file and not self.module_files_updated:
--
2.1.4