| From ad4db3b24a93e52a92ad8f9b0273a9416f202c23 Mon Sep 17 00:00:00 2001 |
| From: Jan Kiszka <jan.kiszka@siemens.com> |
| Date: Tue, 22 Mar 2016 14:27:39 -0700 |
| Subject: scripts/gdb: account for changes in module data structure |
| |
| From: Jan Kiszka <jan.kiszka@siemens.com> |
| |
| commit ad4db3b24a93e52a92ad8f9b0273a9416f202c23 upstream. |
| |
| Commit 7523e4dc5057 ("module: use a structure to encapsulate layout.") |
| factored out the module_layout structure. Adjust the symbol loader and |
| the lsmod command to this. |
| |
| Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> |
| Reviewed-by: Kieran Bingham <kieran.bingham@linaro.org> |
| Tested-by: Kieran Bingham <kieran.bingham@linaro.org> (qemu-{ARM,x86}) |
| Cc: Rusty Russell <rusty@rustcorp.com.au> |
| Cc: Jiri Kosina <jkosina@suse.cz> |
| Cc: Jason Wessel <jason.wessel@windriver.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| scripts/gdb/linux/modules.py | 5 +++-- |
| scripts/gdb/linux/symbols.py | 2 +- |
| 2 files changed, 4 insertions(+), 3 deletions(-) |
| |
| --- 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'] |
| --- 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: |