News: 0001534555

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Big Rust Update Merged For GCC 15 - Lands The Polonius Borrow Checker

([GNU] 6 Hours Ago GCCRS Adds Polonius Borrow-Checker)


Some 145 patches for the Rust "gccrs" front-end were posted today and subsequently merged to GCC Git ahead of the upcoming GCC 15.1 stable release.

A big set of gccrs patches were merged today for enhancing the Rust front-end with the upcoming [1]GCC 15 compiler release. Most significant to this round of patches is adding the Polonius borrow-checker to the compiler.

Arthur Cohen of Embecosm explained in [2]the patch series prior to committing all of these patches:

"This patchset is the first of four similarly-sized patchsets aimed at updating upstream with our most recent changes to the Rust frontend.

We plan on upstreaming small patchsets every week up to the release of 15.1.

This first set's main change is the addition of the polonius borrow-checker to the compiler, as well as all of the infrastructure required for FFI and interacting with Rust crates in general. As such, an installation of the Rust programming language is now required for building the Rust frontend to GCC. As a reminder, this change is temporary and we are working hard towards supporting enough of the language that we can bootstrap our own requirements.

This patchset also adds some support for inline assembly by taking inspiration from the C frontend. There are also numerous changes for supporting the Rust core library, such as handling more attributes, handling negative trait implementations, built-in derive macros, and more.

I will be following up with the next three patchsets in the coming days."

Exciting times for gccrs and making this Rust front-end increasingly more practical as an alternative to the official LLVM-based Rust compiler.



[1] https://www.phoronix.com/search/GCC+15

[2] https://gcc.gnu.org/pipermail/gcc-patches/2025-March/677874.html



Beryesa

fithisux

Doomer

EphemeralEft

jacob

oleid

Setif

geerge

The following quote is from page 4-27 of the MSCP Basic Disk Functions
Manual which is part of the UDA50 Programmers Doc Kit manuals:

As stated above, the host area of a disk is structured as a vector of
logical blocks. From a performance viewpoint, however, it is more
appropriate to view the host area as a four dimensional hyper-cube, the
four dimensions being cylinder, group, track, and sector.
. . .
Referring to our hyper-cube analogy, the set of potentially accessible
blocks form a line parallel to the track axis. This line moves
parallel to the sector axis, wrapping around when it reaches the edge
of the hyper-cube.