On Wed, Feb 3, 2021 at 7:32 PM Fangrui Song <maskray@xxxxxxxxxx> wrote: > > On 2021-02-04, Masahiro Yamada 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 > > GCC 11/Clang 12 -gsplit-dwarf no longer imply -g2 > (https://reviews.llvm.org/D80391). May be worth checking whether > -gsplit-dwarf is used without a debug info enabling option. Indeed, I also remember -g was required for -fno-eliminate-unused-debug-types, used by libabigail. https://reviews.llvm.org/D80242 Masahiro, respectfully, I will not touch removing -g in this series. I suspect it will be its own can of worms. > > > > > > > > > > >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. > > > >The compiler will be given either > >-gdwarf-4 or -gdwarf-5, > >making the -g option redundant, I think. > > -gdwarf-N does imply -g2 but personally I'd not suggest remove it if it > already exists. The non-orthogonality is the reason Clang has > -fdebug-default-version (https://reviews.llvm.org/D69822). -- Thanks, ~Nick Desaulniers