Бекенд rustc_codegen_gcc підтримує розкрутку компілятора Rust
Бекенд rustc_codegen_gcc тепер повністю підтримує розкрутку компілятора Rust
Бекенд rustc_codegen_gcc досяг можливості повної розкрутки (bootstrapping) компілятора rustc. Під розкруткою компілятора мається на увазі можливість використання генератора коду на основі GCC для збірки самого компілятора rustc. Бекенд дозволяє використовувати бібліотеку libgccjit від проекту GCC як генератор коду в компіляторі rustc.
Це відкриває можливість збирати rust-програми для всіх архітектур, доступних у GCC, та використовувати специфічні для GCC оптимізації. Розширення можливостей компілятора Rust є важливим кроком для екосистеми мови програмування.
Випущено Rust Coreutils 0.1.0 з підтримкою SELinux та оптимізаціями продуктивності
Паралельно з цим відбувся реліз проекту Rust Coreutils 0.1.0 (uutils), що розвиває аналог пакету GNU Coreutils, написаний на мові Rust. До складу coreutils входить більше ста утиліт, включаючи sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln і ls.
Мета проекту Rust Coreutils
Метою проекту є створення кросплатформної альтернативної реалізації Coreutils, здатної працювати в тому числі на платформах Windows, Redox і Fuchsia. Rust Coreutils вирішено використовувати за замовчуванням в Ubuntu, починаючи з випуску 25.10.
На відміну від GNU Coreutils, реалізація на Rust поширюється під пермісивною ліцензією MIT замість копілефт-ліцензії GPL. Додатково тією ж командою розробників розвиваються написані на Rust аналоги наборів утиліт util-linux, diffutils, findutils і bsdutils.
Основні поліпшення у новій версії Rust Coreutils
- Реалізована підтримка SELinux, інтегрована в утиліти cp, ls, mkdir, mknod, mkfifo, install і stat.
- Внесені оптимізації продуктивності, особливо помітні при роботі утиліт cat, ls, wc, tail, seq і more. Багато утиліт uutils тепер відповідають або перевершують за продуктивністю аналогічні утиліти GNU.
- Покращена сумісність з еталонним тестовим набором GNU Coreutils, при проходженні якого успішно виконано 522 тести (у минулій версії 507), 65 (69) тестів завершилися невдачею, а 31 (41) тест було пропущено.
Розширення можливостей утиліт у Rust Coreutils
У новому релізі розширено можливості, покращено сумісність та додано опції, яких бракувало, для багатьох утиліт. Серед них: basenc, cat, chmod, chroot, cksum, cp, csplit, date, dd, df, du, echo, env, expr, fmt, head, hostid, hostname, id, install, ls, mkdir та інші.
Таким чином, розкрутка компілятора rustc та реліз Rust Coreutils 0.1.0 демонструють зростаючу зрілість екосистеми Rust та її здатність створювати системні компоненти високої якості.
Детальніше про проекти можна дізнатися на офіційних сайтах rustc_codegen_gcc та Rust Coreutils.