[PATCH] kbuild: add option to set max level of debug info

From: Dmitrii Bundin
Date: Thu Aug 04 2022 - 18:35:44 EST


When compiling with -g3 option and debugging with gdb it provides some
extra abilities like macro expand, info macro etc... It's sometimes
useful to unerstand behavior of complicated macros.

Signed-off-by: Dmitrii Bundin <dmitrii.bundin.a@xxxxxxxxx>
---
lib/Kconfig.debug | 9 +++++++++
scripts/Makefile.debug | 2 ++
2 files changed, 11 insertions(+)

diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 2e24db4bff19..1e8bef3e2a95 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -304,6 +304,15 @@ config DEBUG_INFO_REDUCED
DEBUG_INFO build and compile times are reduced too.
Only works with newer gcc versions.

+config DEBUG_INFO_MAXLEVEL
+ bool "Maximum debug information level"
+ depends on !DEBUG_INFO_REDUCED
+ default n
+ help
+ Sets the maximum level of debug information compilers may generate
+ (-g3). Enabling this option will require significantly more disk space
+ and increase built time, but it's useful for debugging purposes.
+
config DEBUG_INFO_COMPRESSED
bool "Compressed debugging information"
depends on $(cc-option,-gz=zlib)
diff --git a/scripts/Makefile.debug b/scripts/Makefile.debug
index 9f39b0130551..7e1d8beecfc4 100644
--- a/scripts/Makefile.debug
+++ b/scripts/Makefile.debug
@@ -2,6 +2,8 @@ DEBUG_CFLAGS :=

ifdef CONFIG_DEBUG_INFO_SPLIT
DEBUG_CFLAGS += -gsplit-dwarf
+else ifdef CONFIG_DEBUG_INFO_MAXLEVEL
+DEBUG_CFLAGS += -g3
else
DEBUG_CFLAGS += -g
endif
--
2.17.1