Messages in this thread Patch in this message | | | From | Daniel Gomez <> | Subject | Re: [PATCH] scripts/gdb: fix usage of MOD_TEXT not defined when CONFIG_MODULES=n | Date | Fri, 18 Aug 2023 14:49:57 +0000 |
| |
Hi, On Tue, Aug 01, 2023 at 02:57:15PM +0200, Clément Léger wrote: > MOD_TEXT is only defined if CONFIG_MODULES=y which lead to loading failure > of the gdb scripts when kernel is built without CONFIG_MODULES=y: > > Reading symbols from vmlinux... > Traceback (most recent call last): > File "/foo/vmlinux-gdb.py", line 25, in <module> > import linux.constants > File "/foo/scripts/gdb/linux/constants.py", line 14, in <module> > LX_MOD_TEXT = gdb.parse_and_eval("MOD_TEXT") > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > gdb.error: No symbol "MOD_TEXT" in current context. > > Add a conditional check on CONFIG_MODULES to fix this error. > > Fixes: b4aff7513df3 ("scripts/gdb: use mem instead of core_layout to get the module address") > Signed-off-by: Clément Léger <cleger@rivosinc.com>
I've hit the same issue. After rebasing onto next-20230818 we'd need:
diff --git a/scripts/gdb/linux/constants.py.in b/scripts/gdb/linux/constants.py.in index e3517d4ab8ec..04c87b570aab 100644 --- a/scripts/gdb/linux/constants.py.in +++ b/scripts/gdb/linux/constants.py.in @@ -66,10 +66,11 @@ LX_GDBPARSED(IRQD_LEVEL) LX_GDBPARSED(IRQ_HIDDEN)
/* linux/module.h */ -LX_GDBPARSED(MOD_TEXT) -LX_GDBPARSED(MOD_DATA) -LX_GDBPARSED(MOD_RODATA) -LX_GDBPARSED(MOD_RO_AFTER_INIT) +if IS_BUILTIN(CONFIG_MODULES): + LX_GDBPARSED(MOD_TEXT) + LX_GDBPARSED(MOD_DATA) + LX_GDBPARSED(MOD_RODATA) + LX_GDBPARSED(MOD_RO_AFTER_INIT)
/* linux/mount.h */ LX_VALUE(MNT_NOSUID) Tested-by: Daniel Gomez <da.gomez@samsung.com>
> --- > scripts/gdb/linux/constants.py.in | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/scripts/gdb/linux/constants.py.in b/scripts/gdb/linux/constants.py.in > index 50a92c4e9984..866015547b38 100644 > --- a/scripts/gdb/linux/constants.py.in > +++ b/scripts/gdb/linux/constants.py.in > @@ -63,7 +63,8 @@ LX_GDBPARSED(IRQD_LEVEL) > LX_GDBPARSED(IRQ_HIDDEN) > > /* linux/module.h */ > -LX_GDBPARSED(MOD_TEXT) > +if IS_BUILTIN(CONFIG_MODULES): > + LX_GDBPARSED(MOD_TEXT) > > /* linux/mount.h */ > LX_VALUE(MNT_NOSUID) > -- > 2.40.1 > >
| |