kbuild: rust: use `-Zdebuginfo-compression`
authorMiguel Ojeda <ojeda@kernel.org>
Sat, 17 Feb 2024 00:26:22 +0000 (01:26 +0100)
committerMiguel Ojeda <ojeda@kernel.org>
Tue, 2 Apr 2024 15:41:22 +0000 (17:41 +0200)
Rust 1.74.0 introduced (unstable) support for the
`-Zdebuginfo-compression` flag, thus use it.

Note that the releases built by the Rust project (i.e. the ones provided
by rustup) do not enable support for zstd in their bundled LLVM (yet,
at least), thus the Rust compiler will warn, but the build will proceed:

    warning: unknown debuginfo compression algorithm zstd - will fall
    back to uncompressed debuginfo

Link: https://github.com/rust-lang/rust/issues/120953
Link: https://github.com/rust-lang/rust/pull/115358
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/r/20240217002622.57322-1-ojeda@kernel.org
[ Added note about zstd support in Rust-provided binaries. ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
scripts/Makefile.debug

index 693452bc826aa697a2392370450083d12bcdc3f9..107db997ce38991b9503fb68402b3ec7da6ea850 100644 (file)
@@ -35,10 +35,12 @@ 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