summaryrefslogtreecommitdiffstats
path: root/scripts/Makefile.debug
diff options
context:
space:
mode:
authorMasahiro Yamada <masahiroy@kernel.org>2021-10-12 05:25:03 +0200
committerMasahiro Yamada <masahiroy@kernel.org>2021-10-24 06:48:33 +0200
commit6947fd96ae9bbe8c8c473a2199fd3edfd8b9f8c8 (patch)
tree879c210b87488bcaa4fbfed786c7f78f90af0782 /scripts/Makefile.debug
parentgen_init_cpio: add static const qualifiers (diff)
downloadlinux-6947fd96ae9bbe8c8c473a2199fd3edfd8b9f8c8.tar.xz
linux-6947fd96ae9bbe8c8c473a2199fd3edfd8b9f8c8.zip
kbuild: split DEBUG_CFLAGS out to scripts/Makefile.debug
To slim down the top Makefile, split out the code block surrounded by ifdef CONFIG_DEBUG_INFO ... endif. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Reviewed-by: Nick Desaulniers <ndesauniers@google.com> Reviewed-by: Sedat Dilek <sedat.dilek@gmail.com>
Diffstat (limited to 'scripts/Makefile.debug')
-rw-r--r--scripts/Makefile.debug33
1 files changed, 33 insertions, 0 deletions
diff --git a/scripts/Makefile.debug b/scripts/Makefile.debug
new file mode 100644
index 000000000000..9f39b0130551
--- /dev/null
+++ b/scripts/Makefile.debug
@@ -0,0 +1,33 @@
+DEBUG_CFLAGS :=
+
+ifdef CONFIG_DEBUG_INFO_SPLIT
+DEBUG_CFLAGS += -gsplit-dwarf
+else
+DEBUG_CFLAGS += -g
+endif
+
+ifndef CONFIG_AS_IS_LLVM
+KBUILD_AFLAGS += -Wa,-gdwarf-2
+endif
+
+ifndef CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT
+dwarf-version-$(CONFIG_DEBUG_INFO_DWARF4) := 4
+dwarf-version-$(CONFIG_DEBUG_INFO_DWARF5) := 5
+DEBUG_CFLAGS += -gdwarf-$(dwarf-version-y)
+endif
+
+ifdef CONFIG_DEBUG_INFO_REDUCED
+DEBUG_CFLAGS += -fno-var-tracking
+ifdef CONFIG_CC_IS_GCC
+DEBUG_CFLAGS += -femit-struct-debug-baseonly
+endif
+endif
+
+ifdef CONFIG_DEBUG_INFO_COMPRESSED
+DEBUG_CFLAGS += -gz=zlib
+KBUILD_AFLAGS += -gz=zlib
+KBUILD_LDFLAGS += --compress-debug-sections=zlib
+endif
+
+KBUILD_CFLAGS += $(DEBUG_CFLAGS)
+export DEBUG_CFLAGS