1*32ef9e50SNick DesaulniersDEBUG_CFLAGS := 2*32ef9e50SNick Desaulniersdebug-flags-y := -g 36947fd96SMasahiro Yamada 46947fd96SMasahiro Yamadaifdef CONFIG_DEBUG_INFO_SPLIT 56947fd96SMasahiro YamadaDEBUG_CFLAGS += -gsplit-dwarf 66947fd96SMasahiro Yamadaendif 76947fd96SMasahiro Yamada 8*32ef9e50SNick Desaulniersdebug-flags-$(CONFIG_DEBUG_INFO_DWARF4) += -gdwarf-4 9*32ef9e50SNick Desaulniersdebug-flags-$(CONFIG_DEBUG_INFO_DWARF5) += -gdwarf-5 10*32ef9e50SNick Desaulniersifeq ($(CONFIG_CC_IS_CLANG)$(CONFIG_AS_IS_GNU),yy) 11*32ef9e50SNick Desaulniers# Clang does not pass -g or -gdwarf-* option down to GAS. 12*32ef9e50SNick Desaulniers# Add -Wa, prefix to explicitly specify the flags. 13*32ef9e50SNick DesaulniersKBUILD_AFLAGS += $(addprefix -Wa$(comma), $(debug-flags-y)) 146947fd96SMasahiro Yamadaendif 15*32ef9e50SNick DesaulniersDEBUG_CFLAGS += $(debug-flags-y) 16*32ef9e50SNick DesaulniersKBUILD_AFLAGS += $(debug-flags-y) 176947fd96SMasahiro Yamada 186947fd96SMasahiro Yamadaifdef CONFIG_DEBUG_INFO_REDUCED 196947fd96SMasahiro YamadaDEBUG_CFLAGS += -fno-var-tracking 206947fd96SMasahiro Yamadaifdef CONFIG_CC_IS_GCC 216947fd96SMasahiro YamadaDEBUG_CFLAGS += -femit-struct-debug-baseonly 226947fd96SMasahiro Yamadaendif 236947fd96SMasahiro Yamadaendif 246947fd96SMasahiro Yamada 256947fd96SMasahiro Yamadaifdef CONFIG_DEBUG_INFO_COMPRESSED 266947fd96SMasahiro YamadaDEBUG_CFLAGS += -gz=zlib 276947fd96SMasahiro YamadaKBUILD_AFLAGS += -gz=zlib 286947fd96SMasahiro YamadaKBUILD_LDFLAGS += --compress-debug-sections=zlib 296947fd96SMasahiro Yamadaendif 306947fd96SMasahiro Yamada 316947fd96SMasahiro YamadaKBUILD_CFLAGS += $(DEBUG_CFLAGS) 326947fd96SMasahiro Yamadaexport DEBUG_CFLAGS 33