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