ΠΠ΅ΠΊΠ΅Π½Π΄ rustc_codegen_gcc Π΅ ΠΏΠΎΡΡΠΈΠ³Π½Π°Π» Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΡΠ»Π½ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ (bootstrapping) Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° rustc. ΠΠΎΠ΄ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠΈΡΡ ΠΊΠΎΠ΄ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° GCC Π² rustc Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ°ΠΌΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ 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. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΡΡΡΠΈΡΡ Π΅ΠΊΠΈΠΏ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° Π°Π½Π°Π»ΠΎΠ·ΠΈ Π½Π° Π½Π°Π±ΠΎΡΠΈΡΠ΅ ΡΡΠΈΠ»ΠΈΡΠΈ util-linux, diffutils, findutils ΠΈ bsdutils, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Rust.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° 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
