132ef9e50SNick DesaulniersDEBUG_CFLAGS := 2*2f7ab126SMiguel OjedaDEBUG_RUSTFLAGS := 3*2f7ab126SMiguel 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 22*2f7ab126SMiguel OjedaDEBUG_RUSTFLAGS += -Cdebuginfo=1 236947fd96SMasahiro Yamadaifdef CONFIG_CC_IS_GCC 246947fd96SMasahiro YamadaDEBUG_CFLAGS += -femit-struct-debug-baseonly 256947fd96SMasahiro Yamadaendif 26*2f7ab126SMiguel Ojedaelse 27*2f7ab126SMiguel OjedaDEBUG_RUSTFLAGS += -Cdebuginfo=2 286947fd96SMasahiro Yamadaendif 296947fd96SMasahiro Yamada 306947fd96SMasahiro Yamadaifdef CONFIG_DEBUG_INFO_COMPRESSED 316947fd96SMasahiro YamadaDEBUG_CFLAGS += -gz=zlib 326947fd96SMasahiro YamadaKBUILD_AFLAGS += -gz=zlib 336947fd96SMasahiro YamadaKBUILD_LDFLAGS += --compress-debug-sections=zlib 346947fd96SMasahiro Yamadaendif 356947fd96SMasahiro Yamada 366947fd96SMasahiro YamadaKBUILD_CFLAGS += $(DEBUG_CFLAGS) 376947fd96SMasahiro Yamadaexport DEBUG_CFLAGS 38*2f7ab126SMiguel Ojeda 39*2f7ab126SMiguel OjedaKBUILD_RUSTFLAGS += $(DEBUG_RUSTFLAGS) 40*2f7ab126SMiguel Ojedaexport DEBUG_RUSTFLAGS 41