diff options
| author | Andi Kleen <ak@linux.intel.com> | 2014-07-30 14:50:19 -0400 |
|---|---|---|
| committer | Michal Marek <mmarek@suse.cz> | 2014-07-30 16:56:04 -0400 |
| commit | bfaf2dd3509bc73bf4a4cea0e72472755ed860e2 (patch) | |
| tree | e7ceb98352696ee3aa373a7559227a361983f31c | |
| parent | 866ced950bcd54820c3e571229356adc2b2dd72e (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-- | Makefile | 3 | ||||
| -rw-r--r-- | lib/Kconfig.debug | 9 |
2 files changed, 12 insertions, 0 deletions
| @@ -691,6 +691,9 @@ KBUILD_CFLAGS += -g | |||
| 691 | endif | 691 | endif |
| 692 | KBUILD_AFLAGS += -Wa,-gdwarf-2 | 692 | KBUILD_AFLAGS += -Wa,-gdwarf-2 |
| 693 | endif | 693 | endif |
| 694 | ifdef CONFIG_DEBUG_INFO_DWARF4 | ||
| 695 | KBUILD_CFLAGS += $(call cc-option, -gdwarf-4,) | ||
| 696 | endif | ||
| 694 | 697 | ||
| 695 | ifdef CONFIG_DEBUG_INFO_REDUCED | 698 | ifdef CONFIG_DEBUG_INFO_REDUCED |
| 696 | KBUILD_CFLAGS += $(call cc-option, -femit-struct-debug-baseonly) \ | 699 | KBUILD_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 | ||
| 161 | config 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 | |||
| 161 | config ENABLE_WARN_DEPRECATED | 170 | config ENABLE_WARN_DEPRECATED |
| 162 | bool "Enable __deprecated logic" | 171 | bool "Enable __deprecated logic" |
| 163 | default y | 172 | default y |
