Re: [PATCH v7 1/2] Kbuild: make DWARF version a choice
From: Masahiro Yamada <masahiroy@kernel.org>
Date: 2021-02-03 22:27:36
Also in:
linux-kbuild, lkml
On Thu, Feb 4, 2021 at 7:23 AM Masahiro Yamada [off-list ref] wrote:
On Sat, Jan 30, 2021 at 10:52 AM Nathan Chancellor [off-list ref] wrote:quoted
On Fri, Jan 29, 2021 at 04:44:00PM -0800, Nick Desaulniers wrote:quoted
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 <redacted> Suggested-by: Fangrui Song <redacted> Suggested-by: Nathan Chancellor <nathan@kernel.org> Suggested-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Nick Desaulniers <redacted>One comment below: Reviewed-by: Nathan Chancellor <nathan@kernel.org>quoted
--- 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-2It 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@google.com/#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