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'?