On Sat, Feb 17, 2024 at 1:27 AM Miguel Ojeda <ojeda@xxxxxxxxxx> wrote: > > This is the next upgrade to the Rust toolchain, from 1.75.0 to 1.76.0 > (i.e. the latest) [1]. > > See the upgrade policy [2] and the comments on the first upgrade in > commit 3ed03f4da06e ("rust: upgrade to Rust 1.68.2"). > > # Unstable features > > No unstable features that we use were stabilized in Rust 1.76.0. > > The only unstable features allowed to be used outside the `kernel` crate > are still `new_uninit,offset_of`, though other code to be upstreamed > may increase the list. > > Please see [3] for details. > > # Required changes > > `rustc` (and others) now warns when it cannot connect to the Make > jobserver, thus mark those invocations as recursive as needed. Please > see the previous commit for details. > > # Other changes > > Rust 1.76.0 does not emit the `.debug_pub{names,types}` sections anymore > for DWARFv4 [4][5]. For instance, in the uncompressed debug info case, > this debug information took: > > samples/rust/rust_minimal.o ~64 KiB (~18% of total object size) > rust/kernel.o ~92 KiB (~15%) > rust/core.o ~114 KiB ( ~5%) > > In the compressed debug info (zlib) case: > > samples/rust/rust_minimal.o ~11 KiB (~6%) > rust/kernel.o ~17 KiB (~5%) > rust/core.o ~21 KiB (~1.5%) > > In addition, the `rustc_codegen_gcc` backend now does not emit the > `.eh_frame` section when compiling under `-Cpanic=abort` [6], thus > removing the need for the patch in the CI to compile the kernel [7]. > Moreover, it also now emits the `.comment` section too [6]. > > # `alloc` upgrade and reviewing [...] > Link: https://github.com/rust-lang/rust/blob/stable/RELEASES.md#version-1760-2024-02-08 [1] > Link: https://rust-for-linux.com/rust-version-policy [2] > Link: https://github.com/Rust-for-Linux/linux/issues/2 [3] > Link: https://github.com/rust-lang/compiler-team/issues/688 [4] > Link: https://github.com/rust-lang/rust/pull/117962 [5] > Link: https://github.com/rust-lang/rust/pull/118068 [6] > Link: https://github.com/Rust-for-Linux/ci-rustc_codegen_gcc [7] > Signed-off-by: Miguel Ojeda <ojeda@xxxxxxxxxx> Reviewed-by: Alice Ryhl <aliceryhl@xxxxxxxxxx>