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

From: Andrew Morton
Date: Thu Aug 11 2022 - 17:58:34 EST


On Fri, 5 Aug 2022 01:35:04 +0300 Dmitrii Bundin <dmitrii.bundin.a@xxxxxxxxx> wrote:

> 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.
>
> --- 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

What happens when the gcc developers add -g4? Or if a user wants -g2?

In other words, can we make this a Kconfig-selectable level, with the
default `1'?