132ef9e50SNick DesaulniersDEBUG_CFLAGS := 22f7ab126SMiguel OjedaDEBUG_RUSTFLAGS := 32f7ab126SMiguel Ojeda 432ef9e50SNick Desaulniersdebug-flags-y := -g 56947fd96SMasahiro Yamada 66947fd96SMasahiro Yamadaifdef CONFIG_DEBUG_INFO_SPLIT 76947fd96SMasahiro YamadaDEBUG_CFLAGS += -gsplit-dwarf 86947fd96SMasahiro Yamadaendif 96947fd96SMasahiro Yamada 1032ef9e50SNick Desaulniersdebug-flags-$(CONFIG_DEBUG_INFO_DWARF4) += -gdwarf-4 1132ef9e50SNick Desaulniersdebug-flags-$(CONFIG_DEBUG_INFO_DWARF5) += -gdwarf-5 1232ef9e50SNick Desaulniersifeq ($(CONFIG_CC_IS_CLANG)$(CONFIG_AS_IS_GNU),yy) 1332ef9e50SNick Desaulniers# Clang does not pass -g or -gdwarf-* option down to GAS. 1432ef9e50SNick Desaulniers# Add -Wa, prefix to explicitly specify the flags. 1532ef9e50SNick DesaulniersKBUILD_AFLAGS += $(addprefix -Wa$(comma), $(debug-flags-y)) 166947fd96SMasahiro Yamadaendif 1732ef9e50SNick DesaulniersDEBUG_CFLAGS += $(debug-flags-y) 1832ef9e50SNick DesaulniersKBUILD_AFLAGS += $(debug-flags-y) 196947fd96SMasahiro Yamada 206947fd96SMasahiro Yamadaifdef CONFIG_DEBUG_INFO_REDUCED 216947fd96SMasahiro YamadaDEBUG_CFLAGS += -fno-var-tracking 222f7ab126SMiguel OjedaDEBUG_RUSTFLAGS += -Cdebuginfo=1 236947fd96SMasahiro Yamadaifdef CONFIG_CC_IS_GCC 246947fd96SMasahiro YamadaDEBUG_CFLAGS += -femit-struct-debug-baseonly 256947fd96SMasahiro Yamadaendif 262f7ab126SMiguel Ojedaelse 272f7ab126SMiguel OjedaDEBUG_RUSTFLAGS += -Cdebuginfo=2 286947fd96SMasahiro Yamadaendif 296947fd96SMasahiro Yamada 30*9f8fe647SNick Desaulniersifdef CONFIG_DEBUG_INFO_COMPRESSED_ZLIB 316947fd96SMasahiro YamadaDEBUG_CFLAGS += -gz=zlib 326947fd96SMasahiro YamadaKBUILD_AFLAGS += -gz=zlib 336947fd96SMasahiro YamadaKBUILD_LDFLAGS += --compress-debug-sections=zlib 34*9f8fe647SNick Desaulnierselse ifdef CONFIG_DEBUG_INFO_COMPRESSED_ZSTD 35*9f8fe647SNick DesaulniersDEBUG_CFLAGS += -gz=zstd 36*9f8fe647SNick DesaulniersKBUILD_AFLAGS += -gz=zstd 37*9f8fe647SNick DesaulniersKBUILD_LDFLAGS += --compress-debug-sections=zstd 386947fd96SMasahiro Yamadaendif 396947fd96SMasahiro Yamada 406947fd96SMasahiro YamadaKBUILD_CFLAGS += $(DEBUG_CFLAGS) 416947fd96SMasahiro Yamadaexport DEBUG_CFLAGS 422f7ab126SMiguel Ojeda 432f7ab126SMiguel OjedaKBUILD_RUSTFLAGS += $(DEBUG_RUSTFLAGS) 442f7ab126SMiguel Ojedaexport DEBUG_RUSTFLAGS 45