[GSoC] Rust: Compiling the alloc crate - Status Report 1
Enes Cevik via Gcc <[email protected]> Sun, 07 Jun 2026 13:08:02 +0300
| Newsgroups | gmane.comp.gcc.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi! This is the first report on compiling the alloc crate with GCCRS. This week I set out to: - Configure the alloc testsuite. - Implement the required Rust attributes for the alloc crate, specifically: - rustc_allocator - rustc_allocator_nounwind - rustc_std_internal_symbol - Implement the 'oom' and 'exchange_malloc' lang items. - The 'oom' lang item is required to ensure a function exists during out-of-memory situations. - The 'exchange_malloc' lang item is required to ensure a function exists when Box allocates memory. Over the week: - Configured the alloc testsuite. However, expanding it was blocked by a missing name resolution issue, limiting us to a basic lib.rs and a mock core. This deficiency was recently fixed, so we expect the testsuite to continue being expanded in the coming weeks. - Submitted a pull-request implementing the attributes mentioned above (Rust-GCC#4556). It is approved by my mentors but we are performing final checks to ensure correct behavior. - Postponed the 'oom' lang item implementation, as it is not an immediate priority. - Implemented and merged the 'exchange_malloc' lang item (Rust-GCC#4557). - Began implementing the 'owned_box' lang item. The core implementation is done, but I am currently researching edge cases for expanding the testsuite. Current status: - Our first plan is to get the 'owned_box' implementation ready for merging next week. - Next, we need to implement the 'box_free' lang item. This is required to ensure a function exists when Box deallocates memory. - Then, if time permits, we plan to move on to the implementation of intrinsics related to fat pointers. Note: My progress will slow down slightly over the next two weeks due to university exams. Best regards, Enes