GCC-бэкСнд достиг возмоТности ΠΏΠΎΠ»Π½ΠΎΠΉ раскрутки компилятора rustc. Выпуск Rust Coreutils 0.1.0

БэкСнд rustc_codegen_gcc достиг возмоТности ΠΏΠΎΠ»Π½ΠΎΠΉ раскрутки (bootstrapping) компилятора rustc. Под раскруткой компилятора понимаСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π² rustc Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° Π½Π° основС GCC для сборки самого компилятора rustc. БэкСнд позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ libgccjit ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° GCC Π² качСствС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° Π² компиляторС rustc, Ρ‡Ρ‚ΠΎ позволяСт ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ rust-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для всСх Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€, доступных Π² GCC, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ спСцифичныС для GCC ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ€Π΅Π»ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Rust Coreutils 0.1.0 (uutils), Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ Π°Π½Π°Π»ΠΎΠ³ ΠΏΠ°ΠΊΠ΅Ρ‚Π° GNU Coreutils, написанный Π½Π° языкС Rust. Π’ состав coreutils Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π±ΠΎΠ»Π΅Π΅ ста ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln ΠΈ ls. ЦСлью ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° являСтся созданиС кроссплатформСнной Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Coreutils, способной Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ‚ΠΎΠΌ числС Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Windows, Redox ΠΈ Fuchsia. Rust Coreutils Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Ubuntu, начиная с выпуска 25.10. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ GNU Coreutils рСализация Π½Π° Rust распространяСтся ΠΏΠΎΠ΄ пСрмиссивной Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT, вмСсто ΠΊΠΎΠΏΠΈΠ»Π΅Ρ„Ρ‚-Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ GPL. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ написанныС Π½Π° Rust Π°Π½Π°Π»ΠΎΠ³ΠΈ Π½Π°Π±ΠΎΡ€ΠΎΠ² ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ util-linux, diffutils, findutils ΠΈ bsdutils.

Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии:

  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° SELinux, интСгрированная Π² ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ cp, ls, mkdir, mknod, mkfifo, install ΠΈ stat.
  • ВнСсСны ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, особо Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ cat, ls, wc, tail, seq ΠΈ more. МногиС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ uutils Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈΠ»ΠΈ ΠΎΠ±Π³ΠΎΠ½ΡΡŽΡ‚ ΠΏΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ GNU.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с эталонным тСстовым Π½Π°Π±ΠΎΡ€ΠΎΠΌ GNU Coreutils, ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ 522 тСста (Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ вСрсии 507), 65 (69) тСстов Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΠΎΡΡŒ Π½Π΅ΡƒΠ΄Π°Ρ‡Π΅ΠΉ, Π° 31 (41) тСст Π±Ρ‹Π» ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½.
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΡ†ΠΈΠΈ для ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ basenc, cat, chmod, chroot, cksum, cp, csplit, date, dd, df, du, echo, env, expr, false, fmt, head, hostid, hostname, id, install, ls, mkdir, mkfifo, mknod, mktemp, more, mv, numfmt, od, pr, printf, ptx, rm, seq, shred, shuf, sleep, sort, split, stat, sum, sync, tail, tee, test, timeout, touch, tsort, uptime, uucore, wc, whoami ΠΈ yes.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ