Merge tag 'efi-fixes-for-v6.10-3' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-block.git] / scripts / Makefile.debug
CommitLineData
32ef9e50 1DEBUG_CFLAGS :=
2f7ab126
MO
2DEBUG_RUSTFLAGS :=
3
32ef9e50 4debug-flags-y := -g
6947fd96
MY
5
6ifdef CONFIG_DEBUG_INFO_SPLIT
7DEBUG_CFLAGS += -gsplit-dwarf
6947fd96
MY
8endif
9
32ef9e50
ND
10debug-flags-$(CONFIG_DEBUG_INFO_DWARF4) += -gdwarf-4
11debug-flags-$(CONFIG_DEBUG_INFO_DWARF5) += -gdwarf-5
12ifeq ($(CONFIG_CC_IS_CLANG)$(CONFIG_AS_IS_GNU),yy)
13# Clang does not pass -g or -gdwarf-* option down to GAS.
14# Add -Wa, prefix to explicitly specify the flags.
15KBUILD_AFLAGS += $(addprefix -Wa$(comma), $(debug-flags-y))
6947fd96 16endif
32ef9e50
ND
17DEBUG_CFLAGS += $(debug-flags-y)
18KBUILD_AFLAGS += $(debug-flags-y)
6947fd96 19
b8b2096a
MO
20ifdef CONFIG_DEBUG_INFO_DWARF4
21DEBUG_RUSTFLAGS += -Zdwarf-version=4
22else ifdef CONFIG_DEBUG_INFO_DWARF5
23DEBUG_RUSTFLAGS += -Zdwarf-version=5
24endif
25
6947fd96
MY
26ifdef CONFIG_DEBUG_INFO_REDUCED
27DEBUG_CFLAGS += -fno-var-tracking
2f7ab126 28DEBUG_RUSTFLAGS += -Cdebuginfo=1
6947fd96
MY
29ifdef CONFIG_CC_IS_GCC
30DEBUG_CFLAGS += -femit-struct-debug-baseonly
31endif
2f7ab126
MO
32else
33DEBUG_RUSTFLAGS += -Cdebuginfo=2
6947fd96
MY
34endif
35
9f8fe647 36ifdef CONFIG_DEBUG_INFO_COMPRESSED_ZLIB
6947fd96 37DEBUG_CFLAGS += -gz=zlib
dbef1811 38DEBUG_RUSTFLAGS += -Zdebuginfo-compression=zlib
6947fd96
MY
39KBUILD_AFLAGS += -gz=zlib
40KBUILD_LDFLAGS += --compress-debug-sections=zlib
9f8fe647
ND
41else ifdef CONFIG_DEBUG_INFO_COMPRESSED_ZSTD
42DEBUG_CFLAGS += -gz=zstd
dbef1811 43DEBUG_RUSTFLAGS += -Zdebuginfo-compression=zstd
9f8fe647
ND
44KBUILD_AFLAGS += -gz=zstd
45KBUILD_LDFLAGS += --compress-debug-sections=zstd
6947fd96
MY
46endif
47
32ef9e50 48KBUILD_CFLAGS += $(DEBUG_CFLAGS)
6947fd96 49export DEBUG_CFLAGS
2f7ab126
MO
50
51KBUILD_RUSTFLAGS += $(DEBUG_RUSTFLAGS)
52export DEBUG_RUSTFLAGS