Re: [PATCH v2] scripts/gdb: use mem instead of core_layout to get the module address

From: Luis Chamberlain
Date: Wed Apr 12 2023 - 20:53:21 EST


On Wed, Apr 12, 2023 at 10:25:18PM +0200, Pankaj Raghav wrote:
> commit ac3b43283923 ("module: replace module_layout with module_memory")
> changed the struct module data structure from module_layout to
> module_memory. The core_layout member which is used while loading
> modules are not available anymore leading to the following error while
> running gdb:
>
> (gdb) lx-symbols
> loading vmlinux
> Python Exception <class 'gdb.error'>: There is no member named core_layout.
> Error occurred in Python: There is no member named core_layout.
>
> Replace core_layout with its new counterpart mem[MOD_TEXT].
>
> Fixes: ac3b43283923 ("module: replace module_layout with module_memory")
> Signed-off-by: Pankaj Raghav <p.raghav@xxxxxxxxxxx>
> ---
> scripts/gdb/linux/constants.py.in | 3 +++
> scripts/gdb/linux/modules.py | 4 ++--
> scripts/gdb/linux/symbols.py | 4 ++--
> 3 files changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/scripts/gdb/linux/constants.py.in b/scripts/gdb/linux/constants.py.in
> index 36fd2b145853..471300ba176c 100644
> --- a/scripts/gdb/linux/constants.py.in
> +++ b/scripts/gdb/linux/constants.py.in
> @@ -62,6 +62,9 @@ LX_GDBPARSED(hrtimer_resolution)
> LX_GDBPARSED(IRQD_LEVEL)
> LX_GDBPARSED(IRQ_HIDDEN)
>
> +/* linux/module.h */
> +LX_GDBPARSED(MOD_TEXT)

Should we just fill in the rest of the other sections too while at it?

Luis