Skip to content

Commit

Permalink
scripts/gdb: raise error with reduced debugging information
Browse files Browse the repository at this point in the history
[ Upstream commit 8af055a ]

If CONFIG_DEBUG_INFO_REDUCED is enabled in the kernel configuration, we
will typically not be able to load vmlinux-gdb.py and will fail with:

Traceback (most recent call last):
  File "/home/fainelli/work/buildroot/output/arm64/build/linux-custom/vmlinux-gdb.py", line 25, in <module>
    import linux.utils
  File "/home/fainelli/work/buildroot/output/arm64/build/linux-custom/scripts/gdb/linux/utils.py", line 131, in <module>
    atomic_long_counter_offset = atomic_long_type.get_type()['counter'].bitpos
KeyError: 'counter'

Rather be left wondering what is happening only to find out that reduced
debug information is the cause, raise an eror.  This was not typically a
problem until e3c8d33 ("scripts/gdb: fix 'lx-dmesg' on 32 bits arch")
but it has since then.

Link: https://lkml.kernel.org/r/20230406215252.1580538-1-f.fainelli@gmail.com
Fixes: e3c8d33 ("scripts/gdb: fix 'lx-dmesg' on 32 bits arch")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Cc: Antonio Borneo <antonio.borneo@foss.st.com>
Cc: Jan Kiszka <jan.kiszka@siemens.com>
Cc: John Ogness <john.ogness@linutronix.de>
Cc: Kieran Bingham <kbingham@kernel.org>
Cc: Petr Mladek <pmladek@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
ffainelli authored and gregkh committed May 11, 2023
1 parent 688fdfc commit c234653
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 1 deletion.
2 changes: 2 additions & 0 deletions scripts/gdb/linux/constants.py.in
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@

import gdb

LX_CONFIG(CONFIG_DEBUG_INFO_REDUCED)

/* linux/clk-provider.h */
if IS_BUILTIN(CONFIG_COMMON_CLK):
LX_GDBPARSED(CLK_GET_RATE_NOCACHE)
Expand Down
5 changes: 4 additions & 1 deletion scripts/gdb/vmlinux-gdb.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@
gdb.write("NOTE: gdb 7.2 or later required for Linux helper scripts to "
"work.\n")
else:
import linux.constants
if linux.constants.LX_CONFIG_DEBUG_INFO_REDUCED:
raise gdb.GdbError("Reduced debug information will prevent GDB "
"from having complete types.\n")
import linux.utils
import linux.symbols
import linux.modules
Expand All @@ -32,7 +36,6 @@
import linux.lists
import linux.rbtree
import linux.proc
import linux.constants
import linux.timerlist
import linux.clk
import linux.genpd
Expand Down

0 comments on commit c234653

Please sign in to comment.