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