xref: /linux-6.15/scripts/Makefile.debug (revision b8b2096a)
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