diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile | 5 | ||||
-rw-r--r-- | lib/Kconfig.debug | 15 |
3 files changed, 21 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore index f4c0b091dcf4..e213b27f3921 100644 --- a/.gitignore +++ b/.gitignore | |||
@@ -34,6 +34,7 @@ | |||
34 | *.gcno | 34 | *.gcno |
35 | modules.builtin | 35 | modules.builtin |
36 | Module.symvers | 36 | Module.symvers |
37 | *.dwo | ||
37 | 38 | ||
38 | # | 39 | # |
39 | # Top-level generic files | 40 | # Top-level generic files |
@@ -684,7 +684,11 @@ endif | |||
684 | endif | 684 | endif |
685 | 685 | ||
686 | ifdef CONFIG_DEBUG_INFO | 686 | ifdef CONFIG_DEBUG_INFO |
687 | ifdef CONFIG_DEBUG_INFO_SPLIT | ||
688 | KBUILD_CFLAGS += $(call cc-option, -gsplit-dwarf, -g) | ||
689 | else | ||
687 | KBUILD_CFLAGS += -g | 690 | KBUILD_CFLAGS += -g |
691 | endif | ||
688 | KBUILD_AFLAGS += -Wa,-gdwarf-2 | 692 | KBUILD_AFLAGS += -Wa,-gdwarf-2 |
689 | endif | 693 | endif |
690 | 694 | ||
@@ -1372,6 +1376,7 @@ clean: $(clean-dirs) | |||
1372 | @find $(if $(KBUILD_EXTMOD), $(KBUILD_EXTMOD), .) $(RCS_FIND_IGNORE) \ | 1376 | @find $(if $(KBUILD_EXTMOD), $(KBUILD_EXTMOD), .) $(RCS_FIND_IGNORE) \ |
1373 | \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \ | 1377 | \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \ |
1374 | -o -name '*.ko.*' \ | 1378 | -o -name '*.ko.*' \ |
1379 | -o -name '*.dwo' \ | ||
1375 | -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \ | 1380 | -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \ |
1376 | -o -name '*.symtypes' -o -name 'modules.order' \ | 1381 | -o -name '*.symtypes' -o -name 'modules.order' \ |
1377 | -o -name modules.builtin -o -name '.tmp_*.o.*' \ | 1382 | -o -name modules.builtin -o -name '.tmp_*.o.*' \ |
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 7cfcc1b8e101..910355da9d14 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug | |||
@@ -143,6 +143,21 @@ config DEBUG_INFO_REDUCED | |||
143 | DEBUG_INFO build and compile times are reduced too. | 143 | DEBUG_INFO build and compile times are reduced too. |
144 | Only works with newer gcc versions. | 144 | Only works with newer gcc versions. |
145 | 145 | ||
146 | config DEBUG_INFO_SPLIT | ||
147 | bool "Produce split debuginfo in .dwo files" | ||
148 | depends on DEBUG_INFO | ||
149 | help | ||
150 | Generate debug info into separate .dwo files. This significantly | ||
151 | reduces the build directory size for builds with DEBUG_INFO, | ||
152 | because it stores the information only once on disk in .dwo | ||
153 | files instead of multiple times in object files and executables. | ||
154 | In addition the debug information is also compressed. | ||
155 | |||
156 | Requires recent gcc (4.7+) and recent gdb/binutils. | ||
157 | Any tool that packages or reads debug information would need | ||
158 | to know about the .dwo files and include them. | ||
159 | Incompatible with older versions of ccache. | ||
160 | |||
146 | config ENABLE_WARN_DEPRECATED | 161 | config ENABLE_WARN_DEPRECATED |
147 | bool "Enable __deprecated logic" | 162 | bool "Enable __deprecated logic" |
148 | default y | 163 | default y |