|  | DEBUG_CFLAGS	:= | 
|  | DEBUG_RUSTFLAGS	:= | 
|  |  | 
|  | debug-flags-y	:= -g | 
|  |  | 
|  | ifdef CONFIG_DEBUG_INFO_SPLIT | 
|  | DEBUG_CFLAGS	+= -gsplit-dwarf | 
|  | endif | 
|  |  | 
|  | debug-flags-$(CONFIG_DEBUG_INFO_DWARF4)	+= -gdwarf-4 | 
|  | debug-flags-$(CONFIG_DEBUG_INFO_DWARF5)	+= -gdwarf-5 | 
|  | ifeq ($(CONFIG_CC_IS_CLANG)$(CONFIG_AS_IS_GNU),yy) | 
|  | # Clang does not pass -g or -gdwarf-* option down to GAS. | 
|  | # Add -Wa, prefix to explicitly specify the flags. | 
|  | KBUILD_AFLAGS	+= $(addprefix -Wa$(comma), $(debug-flags-y)) | 
|  | endif | 
|  | DEBUG_CFLAGS	+= $(debug-flags-y) | 
|  | KBUILD_AFLAGS	+= $(debug-flags-y) | 
|  |  | 
|  | ifdef CONFIG_DEBUG_INFO_DWARF4 | 
|  | DEBUG_RUSTFLAGS	+= -Zdwarf-version=4 | 
|  | else ifdef CONFIG_DEBUG_INFO_DWARF5 | 
|  | DEBUG_RUSTFLAGS	+= -Zdwarf-version=5 | 
|  | endif | 
|  |  | 
|  | ifdef CONFIG_DEBUG_INFO_REDUCED | 
|  | DEBUG_CFLAGS	+= -fno-var-tracking | 
|  | DEBUG_RUSTFLAGS	+= -Cdebuginfo=1 | 
|  | ifdef CONFIG_CC_IS_GCC | 
|  | DEBUG_CFLAGS	+= -femit-struct-debug-baseonly | 
|  | endif | 
|  | else | 
|  | DEBUG_RUSTFLAGS	+= -Cdebuginfo=2 | 
|  | endif | 
|  |  | 
|  | ifdef CONFIG_DEBUG_INFO_COMPRESSED_ZLIB | 
|  | DEBUG_CFLAGS	+= -gz=zlib | 
|  | DEBUG_RUSTFLAGS	+= -Zdebuginfo-compression=zlib | 
|  | KBUILD_AFLAGS	+= -gz=zlib | 
|  | KBUILD_LDFLAGS	+= --compress-debug-sections=zlib | 
|  | else ifdef CONFIG_DEBUG_INFO_COMPRESSED_ZSTD | 
|  | DEBUG_CFLAGS	+= -gz=zstd | 
|  | DEBUG_RUSTFLAGS	+= -Zdebuginfo-compression=zstd | 
|  | KBUILD_AFLAGS	+= -gz=zstd | 
|  | KBUILD_LDFLAGS	+= --compress-debug-sections=zstd | 
|  | endif | 
|  |  | 
|  | KBUILD_CFLAGS	+= $(DEBUG_CFLAGS) | 
|  | export DEBUG_CFLAGS | 
|  |  | 
|  | KBUILD_RUSTFLAGS += $(DEBUG_RUSTFLAGS) | 
|  | export DEBUG_RUSTFLAGS |