6 ifdef CONFIG_DEBUG_INFO_SPLIT
7 DEBUG_CFLAGS += -gsplit-dwarf
10 debug-flags-$(CONFIG_DEBUG_INFO_DWARF4) += -gdwarf-4
11 debug-flags-$(CONFIG_DEBUG_INFO_DWARF5) += -gdwarf-5
12 ifeq ($(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.
15 KBUILD_AFLAGS += $(addprefix -Wa$(comma), $(debug-flags-y))
17 DEBUG_CFLAGS += $(debug-flags-y)
18 KBUILD_AFLAGS += $(debug-flags-y)
20 ifdef CONFIG_DEBUG_INFO_REDUCED
21 DEBUG_CFLAGS += -fno-var-tracking
22 DEBUG_RUSTFLAGS += -Cdebuginfo=1
23 ifdef CONFIG_CC_IS_GCC
24 DEBUG_CFLAGS += -femit-struct-debug-baseonly
27 DEBUG_RUSTFLAGS += -Cdebuginfo=2
30 ifdef CONFIG_DEBUG_INFO_COMPRESSED_ZLIB
31 DEBUG_CFLAGS += -gz=zlib
32 KBUILD_AFLAGS += -gz=zlib
33 KBUILD_LDFLAGS += --compress-debug-sections=zlib
34 else ifdef CONFIG_DEBUG_INFO_COMPRESSED_ZSTD
35 DEBUG_CFLAGS += -gz=zstd
36 KBUILD_AFLAGS += -gz=zstd
37 KBUILD_LDFLAGS += --compress-debug-sections=zstd
40 KBUILD_CFLAGS += $(DEBUG_CFLAGS)
43 KBUILD_RUSTFLAGS += $(DEBUG_RUSTFLAGS)
44 export DEBUG_RUSTFLAGS