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 20*b8b2096aSMiguel Ojedaifdef CONFIG_DEBUG_INFO_DWARF4 21*b8b2096aSMiguel OjedaDEBUG_RUSTFLAGS += -Zdwarf-version=4 22*b8b2096aSMiguel Ojedaelse ifdef CONFIG_DEBUG_INFO_DWARF5 23*b8b2096aSMiguel OjedaDEBUG_RUSTFLAGS += -Zdwarf-version=5 24*b8b2096aSMiguel Ojedaendif 25*b8b2096aSMiguel Ojeda 266947fd96SMasahiro Yamadaifdef CONFIG_DEBUG_INFO_REDUCED 276947fd96SMasahiro YamadaDEBUG_CFLAGS += -fno-var-tracking 282f7ab126SMiguel OjedaDEBUG_RUSTFLAGS += -Cdebuginfo=1 296947fd96SMasahiro Yamadaifdef CONFIG_CC_IS_GCC 306947fd96SMasahiro YamadaDEBUG_CFLAGS += -femit-struct-debug-baseonly 316947fd96SMasahiro Yamadaendif 322f7ab126SMiguel Ojedaelse 332f7ab126SMiguel OjedaDEBUG_RUSTFLAGS += -Cdebuginfo=2 346947fd96SMasahiro Yamadaendif 356947fd96SMasahiro Yamada 369f8fe647SNick Desaulniersifdef CONFIG_DEBUG_INFO_COMPRESSED_ZLIB 376947fd96SMasahiro YamadaDEBUG_CFLAGS += -gz=zlib 386947fd96SMasahiro YamadaKBUILD_AFLAGS += -gz=zlib 396947fd96SMasahiro YamadaKBUILD_LDFLAGS += --compress-debug-sections=zlib 409f8fe647SNick Desaulnierselse ifdef CONFIG_DEBUG_INFO_COMPRESSED_ZSTD 419f8fe647SNick DesaulniersDEBUG_CFLAGS += -gz=zstd 429f8fe647SNick DesaulniersKBUILD_AFLAGS += -gz=zstd 439f8fe647SNick DesaulniersKBUILD_LDFLAGS += --compress-debug-sections=zstd 446947fd96SMasahiro Yamadaendif 456947fd96SMasahiro Yamada 466947fd96SMasahiro YamadaKBUILD_CFLAGS += $(DEBUG_CFLAGS) 476947fd96SMasahiro Yamadaexport DEBUG_CFLAGS 482f7ab126SMiguel Ojeda 492f7ab126SMiguel OjedaKBUILD_RUSTFLAGS += $(DEBUG_RUSTFLAGS) 502f7ab126SMiguel Ojedaexport DEBUG_RUSTFLAGS 51