The Wire · Showcase
LIBC PLATFORM FIXES SWEEP ACROSS HEXAGON, FUCHSIA, HAIKU
By RepoJournal · Filed · About Rust
Adam Martinez landed a series of foundational fixes to libc's platform bindings, clearing out redundant skips and correcting record definitions that have been wrong since before Rust had unions.
The libc team made substantial progress on platform correctness across three targets. On Hexagon QuRT, Martinez removed possibly redundant skips on `sem_t` [1] and a redundant `union` skip on `sigaction` [2], aligning Rust's definitions with upstream headers by eliminating workarounds that are no longer necessary. Fuchsia got a comprehensive fix [3] removing unnecessary 32-bit conditionals (Fuchsia dropped 32-bit support entirely), correcting missing fields in multiple records, and fixing the `cpu_set_t` macros which "were wrongly defined" and returned incorrect values. On Haiku, `sem_t` received a full definition replacement [4], moving from a dummy placeholder field to the actual union structure now that Rust supports the type. Across the stack, Martinez also added deprecation suppression to the `s_no_extra_traits` macro [5] to clean up warnings on deprecated items. Over at crates.io, the owner query refactoring [6] landed cleanly, moving owner ordering logic out of the database layer into API handlers while preserving endpoint compatibility. The Rust compiler desk saw a cg_gcc subtree sync [7] followed immediately by a revert [8], then a revert of the revert [9] - the back-and-forth clears but shows iteration on the update. With 103 commits and 26 PRs across the period, the activity reflects steady platform stabilization rather than critical firefighting.
One email a day. Unsubscribe in one click.
Keep up with Rust in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Review libc changes for any dependent crates using Hexagon, Fuchsia, or Haiku targets rust-lang/libc [plan]
- → Monitor cg_gcc subtree for stability after revert resolution rust-lang/rust [monitor]
References
- [1] hexagon: remove possibly redundant skip on `sem_t` rust-lang/libc
- [2] hexagon: remove redundant `union` skip rust-lang/libc
- [3] fuchsia: fix record definitions rust-lang/libc
- [4] haiku: fill in full definition for `sem_t` rust-lang/libc
- [5] macros: allow deprecated in `s_no_extra_traits` rust-lang/libc
- [6] Refactor crate owner queries ↗ rust-lang/crates.io
- [7] Auto merge of #159844 - GuillaumeGomez:subtree-update_cg_gcc_2026-07-24, r=GuillaumeGomez rust-lang/rust
- [8] Revert "Auto merge of #159844 - GuillaumeGomez:subtree-update_cg_gcc_2026-07-24, r=GuillaumeGomez" rust-lang/rust
- [9] Auto merge of #160468 - GuillaumeGomez:revert-159844, r=JonathanBrouwer rust-lang/rust