| 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 |