aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndi Kleen <ak@linux.intel.com>2014-07-30 14:50:19 -0400
committerMichal Marek <mmarek@suse.cz>2014-07-30 16:56:04 -0400
commitbfaf2dd3509bc73bf4a4cea0e72472755ed860e2 (patch)
treee7ceb98352696ee3aa373a7559227a361983f31c
parent866ced950bcd54820c3e571229356adc2b2dd72e (diff)
Kbuild: Add a option to enable dwarf4 v2
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>
-rw-r--r--Makefile3
-rw-r--r--lib/Kconfig.debug9
2 files changed, 12 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index e5a269465f99..2fd21a58f5cf 100644
--- a/Makefile
+++ b/Makefile
@@ -691,6 +691,9 @@ KBUILD_CFLAGS += -g
691endif 691endif
692KBUILD_AFLAGS += -Wa,-gdwarf-2 692KBUILD_AFLAGS += -Wa,-gdwarf-2
693endif 693endif
694ifdef CONFIG_DEBUG_INFO_DWARF4
695KBUILD_CFLAGS += $(call cc-option, -gdwarf-4,)
696endif
694 697
695ifdef CONFIG_DEBUG_INFO_REDUCED 698ifdef CONFIG_DEBUG_INFO_REDUCED
696KBUILD_CFLAGS += $(call cc-option, -femit-struct-debug-baseonly) \ 699KBUILD_CFLAGS += $(call cc-option, -femit-struct-debug-baseonly) \
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 910355da9d14..d70f203ce710 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -158,6 +158,15 @@ config DEBUG_INFO_SPLIT
158 to know about the .dwo files and include them. 158 to know about the .dwo files and include them.
159 Incompatible with older versions of ccache. 159 Incompatible with older versions of ccache.
160 160
161config DEBUG_INFO_DWARF4
162 bool "Generate dwarf4 debuginfo"
163 depends on DEBUG_INFO
164 help
165 Generate dwarf4 debug info. This requires recent versions
166 of gcc and gdb. It makes the debug information larger.
167 But it significantly improves the success of resolving
168 variables in gdb on optimized code.
169
161config ENABLE_WARN_DEPRECATED 170config ENABLE_WARN_DEPRECATED
162 bool "Enable __deprecated logic" 171 bool "Enable __deprecated logic"
163 default y 172 default y