Re: [PATCH v7 1/2] Kbuild: make DWARF version a choice

From: Masahiro Yamada
Date: Wed Feb 03 2021 - 17:28:01 EST


On Thu, Feb 4, 2021 at 7:23 AM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
>
> On Sat, Jan 30, 2021 at 10:52 AM Nathan Chancellor <nathan@xxxxxxxxxx> wrote:
> >
> > On Fri, Jan 29, 2021 at 04:44:00PM -0800, Nick Desaulniers wrote:
> > > Modifies CONFIG_DEBUG_INFO_DWARF4 to be a member of a choice which is
> > > the default. Does so in a way that's forward compatible with existing
> > > configs, and makes adding future versions more straightforward.
> > >
> > > GCC since ~4.8 has defaulted to this DWARF version implicitly.
> > >
> > > Suggested-by: Arvind Sankar <nivedita@xxxxxxxxxxxx>
> > > Suggested-by: Fangrui Song <maskray@xxxxxxxxxx>
> > > Suggested-by: Nathan Chancellor <nathan@xxxxxxxxxx>
> > > Suggested-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> > > Signed-off-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
> >
> > One comment below:
> >
> > Reviewed-by: Nathan Chancellor <nathan@xxxxxxxxxx>
> >
> > > ---
> > > Makefile | 5 ++---
> > > lib/Kconfig.debug | 16 +++++++++++-----
> > > 2 files changed, 13 insertions(+), 8 deletions(-)
> > >
> > > diff --git a/Makefile b/Makefile
> > > index 95ab9856f357..d2b4980807e0 100644
> > > --- a/Makefile
> > > +++ b/Makefile
> > > @@ -830,9 +830,8 @@ ifneq ($(LLVM_IAS),1)
> > > KBUILD_AFLAGS += -Wa,-gdwarf-2
> >
> > It is probably worth a comment somewhere that assembly files will still
> > have DWARF v2.
>
> I agree.
> Please noting the reason will be helpful.
>
> Could you summarize Jakub's comment in short?
> https://patchwork.kernel.org/project/linux-kbuild/patch/20201022012106.1875129-1-ndesaulniers@xxxxxxxxxx/#23727667
>
>
>
>
>
>
> One more question.
>
>
> Can we remove -g option like follows?
>
>
> ifdef CONFIG_DEBUG_INFO_SPLIT
> DEBUG_CFLAGS += -gsplit-dwarf
> -else
> -DEBUG_CFLAGS += -g
> endif
>
>
>
>
>
> In the current mainline code,
> -g is the only debug option
> if CONFIG_DEBUG_INFO_DWARF4 is disabled.
>
>
> The GCC manual says:
> https://gcc.gnu.org/onlinedocs/gcc-10.2.0/gcc/Debugging-Options.html#Debugging-Options
>
>
> -g
>
> Produce debugging information in the operating system’s
> native format (stabs, COFF, XCOFF, or DWARF).
> GDB can work with this debugging information.
>
>
> Of course, we expect the -g option will produce
> the debug info in the DWARF format.
>
>
>
>
>
> With this patch set applied, it is very explicit.
>
> Only the format type, but also the version.


I mean:

Not only the format type, but also the version
is explicit.




> The compiler will be given either
> -gdwarf-4 or -gdwarf-5,
> making the -g option redundant, I think.
>
>
>
>
>
>
--
Best Regards
Masahiro Yamada