DEBUG_CFLAGS := DEBUG_RUSTFLAGS := debug-flags-y := -g ifdef CONFIG_DEBUG_INFO_SPLIT DEBUG_CFLAGS += -gsplit-dwarf endif debug-flags-$(CONFIG_DEBUG_INFO_DWARF4) += -gdwarf-4 debug-flags-$(CONFIG_DEBUG_INFO_DWARF5) += -gdwarf-5 ifeq ($(CONFIG_CC_IS_CLANG)$(CONFIG_AS_IS_GNU),yy) # Clang does not pass -g or -gdwarf-* option down to GAS. # Add -Wa, prefix to explicitly specify the flags. KBUILD_AFLAGS += $(addprefix -Wa$(comma), $(debug-flags-y)) endif DEBUG_CFLAGS += $(debug-flags-y) KBUILD_AFLAGS += $(debug-flags-y) ifdef CONFIG_DEBUG_INFO_REDUCED DEBUG_CFLAGS += -fno-var-tracking DEBUG_RUSTFLAGS += -Cdebuginfo=1 ifdef CONFIG_CC_IS_GCC DEBUG_CFLAGS += -femit-struct-debug-baseonly endif else DEBUG_RUSTFLAGS += -Cdebuginfo=2 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 KBUILD_RUSTFLAGS += $(DEBUG_RUSTFLAGS) export DEBUG_RUSTFLAGS