Kbuild: Add a option to enable dwarf4 v2
authorAndi Kleen <ak@linux.intel.com>
Wed, 30 Jul 2014 18:50:19 +0000 (20:50 +0200)
committerMichal Marek <mmarek@suse.cz>
Wed, 30 Jul 2014 20:56:04 +0000 (22:56 +0200)
I found that a lot of unresolvable variables when using gdb on the
kernel become resolvable when dwarf4 is enabled. So add a Kconfig flag
to enable it.

It definitely increases the debug information size, but on the other
hand this isn't so bad when debug fusion is used.

v2: Use cc-option
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Makefile
lib/Kconfig.debug

index e5a269465f99a33671c3862919f1c7b1d55daca4..2fd21a58f5cf4ea89edcb89cad948d45a2654dcf 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -691,6 +691,9 @@ KBUILD_CFLAGS       += -g
 endif
 KBUILD_AFLAGS  += -Wa,-gdwarf-2
 endif
 endif
 KBUILD_AFLAGS  += -Wa,-gdwarf-2
 endif
+ifdef CONFIG_DEBUG_INFO_DWARF4
+KBUILD_CFLAGS  += $(call cc-option, -gdwarf-4,)
+endif
 
 ifdef CONFIG_DEBUG_INFO_REDUCED
 KBUILD_CFLAGS  += $(call cc-option, -femit-struct-debug-baseonly) \
 
 ifdef CONFIG_DEBUG_INFO_REDUCED
 KBUILD_CFLAGS  += $(call cc-option, -femit-struct-debug-baseonly) \
index 910355da9d143718447062579da7a746bad701bf..d70f203ce710d6a5f8da91fe4246722429940065 100644 (file)
@@ -158,6 +158,15 @@ config DEBUG_INFO_SPLIT
          to know about the .dwo files and include them.
          Incompatible with older versions of ccache.
 
          to know about the .dwo files and include them.
          Incompatible with older versions of ccache.
 
+config DEBUG_INFO_DWARF4
+       bool "Generate dwarf4 debuginfo"
+       depends on DEBUG_INFO
+       help
+         Generate dwarf4 debug info. This requires recent versions
+         of gcc and gdb. It makes the debug information larger.
+         But it significantly improves the success of resolving
+         variables in gdb on optimized code.
+
 config ENABLE_WARN_DEPRECATED
        bool "Enable __deprecated logic"
        default y
 config ENABLE_WARN_DEPRECATED
        bool "Enable __deprecated logic"
        default y
This page took 0.03393 seconds and 5 git commands to generate.