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 20b8b2096aSMiguel Ojedaifdef CONFIG_DEBUG_INFO_DWARF4 21b8b2096aSMiguel OjedaDEBUG_RUSTFLAGS += -Zdwarf-version=4 22b8b2096aSMiguel Ojedaelse ifdef CONFIG_DEBUG_INFO_DWARF5 23b8b2096aSMiguel OjedaDEBUG_RUSTFLAGS += -Zdwarf-version=5 24b8b2096aSMiguel Ojedaendif 25b8b2096aSMiguel 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 38*dbef1811SMiguel OjedaDEBUG_RUSTFLAGS += -Zdebuginfo-compression=zlib 396947fd96SMasahiro YamadaKBUILD_AFLAGS += -gz=zlib 406947fd96SMasahiro YamadaKBUILD_LDFLAGS += --compress-debug-sections=zlib 419f8fe647SNick Desaulnierselse ifdef CONFIG_DEBUG_INFO_COMPRESSED_ZSTD 429f8fe647SNick DesaulniersDEBUG_CFLAGS += -gz=zstd 43*dbef1811SMiguel OjedaDEBUG_RUSTFLAGS += -Zdebuginfo-compression=zstd 449f8fe647SNick DesaulniersKBUILD_AFLAGS += -gz=zstd 459f8fe647SNick DesaulniersKBUILD_LDFLAGS += --compress-debug-sections=zstd 466947fd96SMasahiro Yamadaendif 476947fd96SMasahiro Yamada 486947fd96SMasahiro YamadaKBUILD_CFLAGS += $(DEBUG_CFLAGS) 496947fd96SMasahiro Yamadaexport DEBUG_CFLAGS 502f7ab126SMiguel Ojeda 512f7ab126SMiguel OjedaKBUILD_RUSTFLAGS += $(DEBUG_RUSTFLAGS) 522f7ab126SMiguel Ojedaexport DEBUG_RUSTFLAGS 53