Thread (33 messages) 33 messages, 7 authors, 2021-02-06

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-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@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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help