ΠΠΎΡΠ»ΠΎ ΡΠ΅ Π΄ΠΎ ΠΎΡΠ»ΠΎΠ±Π°ΡΠ°ΡΠ° ΠΠΈΠ²ΡΠΈ Π»ΠΈΠ½ΠΊΠ΅Ρ 0.9.0 β Π½ΠΎΠ²ΠΈ Π²ΠΈΡΠΎΠΊΠΎ-ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠ½ΠΈ Π»ΠΈΠ½ΠΊΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ Ρ Π ΡΡΡΡ. ΠΠ·Π΄Π°ΡΠ΅ ΡΠ΅ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎ Π½Π° ΠΠΈΡΠ₯Π°Π±Ρ. ΠΠ‘ΠΠ£ΠΠΠ‘ ΠΌΠ°Ρ Π³ΠΎΠ΄ΠΈΠ½Π΅ ΠΠ‘ΠΠ£ΠΠΠ‘ΠΡΠΎΡΠ΅ΠΊΠ°Ρ ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠ°Π½ ΠΊΠ°ΠΎ Π»ΠΈΠ½ΠΊΠ΅Ρ Π·Π° ΡΠ±ΡΠ·Π°Π²Π°ΡΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ ΡΠ°Π·Π²ΠΎΡΠ°: Π°ΡΡΠΎΡΠΈ Ρ ΠΊΡΠ°ΡΡΠΎΡ Π»ΠΈΠ½ΠΈΡΠΈ ΠΆΠ΅Π»Π΅ Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Ρ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ ΠΏΠΎΠ²Π΅Π·ΠΈΠ²Π°ΡΠ΅, ΠΈΠ°ΠΊΠΎ ΡΠΎ ΡΠΎΡ Π½ΠΈΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΎ Ρ ΡΡΠ΅Π½ΡΡΠ½ΠΎΡ Π²Π΅ΡΠ·ΠΈΡΠΈ. ΠΠΎΠ΄ ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ° ΠΏΠΎΠ΄ Π΄Π²ΠΎΡΡΡΡΠΊΠΎΠΌ Π»ΠΈΡΠ΅Π½ΡΠΎΠΌ. ΠΠΏΠ°ΡΠΈ 2.0 / ΠΠΠ’.
ΠΠ»Π°Π²Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π° Ρ Wild 0.9 ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΠ° API Π΄ΠΎΠ΄Π°ΡΠΊΠ° Π·Π° Π»ΠΈΠ½ΠΊΠ΅Ρ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ΅Π½ Ρ Gold Π»ΠΈΠ½ΠΊΠ΅ΡΡ, Π° ΡΠ°ΠΊΠΎΡΠ΅ ΠΏΠΎΠ΄ΡΠΆΠ°Π½ ΠΎΠ΄ ΡΡΡΠ°Π½Π΅ GNU ld ΠΈ Mold. ΠΠ° Wild, ΠΎΠ²ΠΎ ΠΎΡΠ²Π°ΡΠ° ΠΏΡΡ ΠΊΠ° LTO Π΄ΠΎΠ΄Π°ΡΠΊΠ° Π·Π° Π»ΠΈΠ½ΠΊΠ΅Ρ β ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½Π° ΠΏΠΎΠ²Π΅Π·ΠΈΠ²Π°ΡΠ° ΠΏΡΡΠ΅ΠΌ Π΄ΠΎΠ΄Π°ΡΠΊΠ° Π·Π° Π»ΠΈΠ½ΠΊΠ΅Ρ. ΠΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ ΠΏΠΎΡΠ΅Π±Π½ΠΎ Π½Π°Π²ΠΎΠ΄Π΅ Π΄Π° ΡΠ΅ ΠΎΠ²ΠΎ ΠΏΡΠ²Π΅Π½ΡΡΠ²Π΅Π½ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΎ Π·Π° C, C++ ΠΈ ΠΏΡΠΎΡΠ΅ΠΊΡΠ΅ ΠΌΠ΅ΡΠΎΠ²ΠΈΡΠΎΠ³ ΠΊΠΎΠ΄Π°, Π΄ΠΎΠΊ ΡΠΈΡΡΠΈ Rust ΠΏΡΠΎΡΠ΅ΠΊΡΠΈ ΠΎΠ±ΠΈΡΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ½ΠΎ ΠΈΠ·Π²ΡΡΠ°Π²Π°ΡΡ LTO. ΠΠΎΠ΄ΡΡΠΊΠ° Π·Π° ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΡΡ ΠΈ Π΄Π°ΡΠ΅ ΠΈΠΌΠ° ΠΏΠΎΠ·Π½Π°ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅, Π° ΠΏΠΎΠ²Π΅Π·ΠΈΠ²Π°ΡΠ΅ ΠΏΡΡΠ΅ΠΌ Π΄ΠΎΠ΄Π°ΡΠΊΠ° ΠΌΠΎΠΆΠ΅ Π±ΠΈΡΠΈ ΡΠΏΠΎΡΠΎ.
ΠΠ½Π°ΡΠ°ΡΠ°Π½ Π΄Π΅ΠΎ ΠΏΠΎΡΠ»Π° Ρ Π²Π΅ΡΠ·ΠΈΡΠΈ 0.9 Π±ΠΈΠΎ ΡΠ΅ Π²Π΅Π·Π°Π½ Π·Π° ΠΏΡΠΈΠΏΡΠ΅ΠΌΠ΅ Π·Π° ΡΡΠ°Π½ΡΡΠ΅Ρ ΠΈΠ³ΡΠ΅ Wild Π΄Π°ΡΠ΅ ΠΎΠ΄... Linux/ELF. ΠΠΎΠ³ΠΈΠΊΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½Π° Π·Π° ELF ΡΠ΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½Π° Π²Π°Π½ Π°ΠΏΡΡΡΠ°ΠΊΡΠΈΡΠ°, Π° ΡΠ°Π΄ Π½Π° ΠΏΠΎΠ΄ΡΡΡΠΈ ΡΠ΅ Π·Π°ΠΏΠΎΡΠ΅Ρ. ΠΠ°ΡΡ -Π ΠΈ ΠΠ΅Π±ΠΡΡΠ΅ΠΌΠ±Π»ΠΈΠΠ²Π΅ ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡΠΈ ΡΠΎΡ Π½ΠΈΡΡ ΡΠΏΡΠ΅ΠΌΠ½Π΅ Π·Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ½Ρ ΡΠΏΠΎΡΡΠ΅Π±Ρ, Π°Π»ΠΈ ΠΏΡΠ²ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ ΡΡ ΡΠ΅ Π²Π΅Ρ ΠΏΠΎΡΠ°Π²ΠΈΠ»ΠΈ: Mach-O ΠΏΠ°ΡΡΠΈΡΠ°ΡΠ΅, ΠΎΠ±ΡΠ°Π΄Π° ΡΠ΅ΠΊΡΠΈΡΠ° ΠΈ ΡΠ΅Π³ΠΌΠ΅Π½Π°ΡΠ°, ΡΠ°Π±Π΅Π»Π° ΡΠΈΠΌΠ±ΠΎΠ»Π°, ΠΏΠΎΡΠΏΠΈΡ ΠΊΠΎΠ΄Π°, fat Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΠΊΠΎΠ΄, ΠΊΠ°ΠΎ ΠΈ ΠΏΠΎΡΠ΅ΡΠ½Π° ΠΏΠΎΠ΄ΡΡΠΊΠ° Π·Π° wasm ΡΠ΅ΠΊΡΠΈΡΠ΅, ΡΠΈΠΌΠ±ΠΎΠ»Π΅ ΠΈ ΡΠ΅Π»ΠΎΠΊΠ°ΡΠΈΡΠ΅.
ΠΡΡΡΠ½Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅ Ρ Wild Linker-Ρ 0.9:
ΠΠΎΠ΄ΡΡΠΊΠ° Π·Π° Π΄ΠΎΠ΄Π°ΡΠΊΠ΅ Π·Π° Π»ΠΈΠ½ΠΊΠ΅ΡΠ΅. ΠΠΎΠ΄Π°ΡΠ° ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΠ° Π·Π° API-ΡΠ΅ Π΄ΠΎΠ΄Π°ΡΠ°ΠΊΠ° Π·Π° Π»ΠΈΠ½ΠΊΠ΅ΡΠ΅, ΡΡΠΎ ΡΠ΅ Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ Π·Π° LTO Π΄ΠΎΠ΄Π°ΡΠ°ΠΊΠ° Π·Π° Π»ΠΈΠ½ΠΊΠ΅ΡΠ΅ ΠΈ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡ ΡΠ° Π½Π΅ΠΊΠΈΠΌ GCC/GNU ld/Mold ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠ° Π·Π° ΠΈΠ·Π³ΡΠ°Π΄ΡΡ. Π’Π°ΠΊΠΎΡΠ΅ ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈ Π½Π΅ΠΊΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π²Π΅Π·Π°Π½ΠΈ Π·Π° ΠΏΠΎΠ²ΡΠ°ΡΠ½Π΅ ΠΏΠΎΠ·ΠΈΠ²Π΅ Π΄ΠΎΠ΄Π°ΡΠ°ΠΊΠ°, ΡΠΊΡΡΡΡΡΡΡΠΈ ΡΠ΅Π»Ρ Π°ΡΡ ΠΈΠ²Ρ, ThinLTO, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅ΡΠ΅ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈΡ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΈ ΡΠΊΠ»Π°ΡΠ°ΡΠ΅ Π½Π΅ΠΈΡΠΏΡΠ°Π²Π½ΠΎΠ³ ΠΊΠΎΠ΄Π° ΡΠΎΠΊΠΎΠΌ LTO-Π°.
ΠΠ½Π°ΡΠ°ΡΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΠ΅ Π·Π° Π»ΠΈΠ½ΠΊΠ΅Ρ ΡΠΊΡΠΈΠΏΡΠ΅. ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π΅ ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ PROVIDE ΠΈ PROVIDE_HIDDEN, ΠΏΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΈ ΠΈΠ·Π²ΡΡΠ°Π²Π°ΡΠ΅ ASSERT, ΠΏΠΎΠ΄ΡΡΠΊΠ° Π·Π° ΡΡΡΠΈΠΊΡΠ΅ MEMORY, ORIGIN, LENGTH, LOADADDR, ALIGNOF, SEGMENT_START, K ΠΈ M Ρ Π½ΡΠΌΠ΅ΡΠΈΡΠΊΠΈΠΌ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΈΠΌΠ°, Π»ΠΎΠ³ΠΈΡΠΊΠΈ, Π±ΠΈΡΡΠΊΠΈ ΠΈ ΡΠ½Π°ΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ ΠΈ ΠΏΠΎΠ΄ΡΠ΄Π°ΡΠ°ΡΠ΅ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈΠΌΠ° ΡΠ»Π°Π·Π½ΠΈΡ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°. ΠΠ²ΠΎ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ°Π²Π° Wild ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡΠΈ ΡΠ° ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠΌ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠ° Π·Π° ΠΏΠΎΠ²Π΅Π·ΠΈΠ²Π°ΡΠ΅ ΠΊΠΎΡΠ΅ ΡΠ΅ ΡΠ΅ΡΡΠΎ Π½Π°Π»Π°Π·Π΅ Ρ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΎΠΌ ΡΠΎΡΡΠ²Π΅ΡΡ ΠΈ ΠΏΡΠΎΡΠ΅ΠΊΡΠΈΠΌΠ° Π½ΠΈΡΠΊΠΎΠ³ Π½ΠΈΠ²ΠΎΠ°.
ΠΠΎΠ±ΠΎΡΡΠ°ΡΠ° Π·Π° RISC-V, AArch64, x86-64 ΠΈ LoongArch64. ΠΠΎΠ΄Π°ΡΠΎ ΡΠ΅ ΠΎΠΏΡΡΡΠ°ΡΠ΅ RISC-V ΠΏΠΎΠ·ΠΈΠ²Π°, ΠΎΠΏΡΡΡΠ°ΡΠ΅ HI20, R_RISCV_ALIGN, ΠΏΡΠΎΠ²Π΅ΡΠ° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΠΈΡ ISA Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ°, Π΄ΠΎΠ΄Π°ΡΠ½Π΅ AArch64 ΡΠ΅Π»ΠΎΠΊΠ°ΡΠΈΡΠ΅, thunks-ΠΎΠ²ΠΈ Π·Π° ΠΏΡΠΎΡΠΈΡΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π³Π° Π·Π° AArch64, ΡΡΠΊΠΎΠ²Π°ΡΠ΅ Π±ΡΠΎΡΠ½ΠΈΠΌ x86-64 ΡΠ΅Π»ΠΎΠΊΠ°ΡΠΈΡΠ°ΠΌΠ° ΡΠ° ΠΎΠΏΡΡΡΠ°ΡΠΈΠΌΠ° ΠΈ ΠΏΠΎΡΠ°ΡΡΠ΅ΡΠ° ΠΎΠΏΡΠ΅Π³Π° ΠΈ ΠΏΠΎΡΠ°Π²Π½Π°ΡΠ° Π·Π° LoongArch64.
ΠΠΎΠ²Π΅ ΠΎΠΏΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡΠΈ. ΠΠΎΠ΄Π°ΡΠ° ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΠ° Π·Π° --dependency-file, --auxiliary, --exclude-libs, --enable-new-dtags, --disable-new-dtags, --trace, --nmagic, --compress-debug-sections, --pack-dynamic-relocs=relr, --use-android-relr-tags ΠΈ ΠΎΠ±Π»ΠΈΠΊ Π±Π΅Π· ΡΠ°Π·ΠΌΠ°ΠΊΠ° -o/path.
ΠΠ΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΡΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΠΎΠΊΡΠ΅ΡΠ½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΠ°ΡΠ°. ΠΠΎΠ΄Π°ΡΠ° ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΠ° Π·Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΡΡΠ°ΡΠΈΡΠΊΠΈΡ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ°ΡΡΡΠΈΡ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° β ΠΌΠ΅ΡΡΠΎΠ±ΡΠ΅ΠΊΠ°ΡΠ½ΠΈΡ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΊΠΎΡΠ΅ ΠΈ Π΄Π°ΡΠ΅ ΠΌΠΎΠ³Ρ ΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΠΈ Ρ Π΄Π°ΡΠ΅ΠΌ ΠΏΠΎΠ²Π΅Π·ΠΈΠ²Π°ΡΡ.
ΠΠΎΠ±ΠΎΡΡΠ°ΡΠ° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ Π±Π΅Π· ΡΠΎΠΊΡΡΠΈΡΠ°ΡΠ° Π½Π° βΠ±ΡΠ·ΠΎβ ΠΈΠ·Π΄Π°ΡΠ΅. ΠΡΡΠΎΡΠΈ Π΅ΠΊΡΠΏΠ»ΠΈΡΠΈΡΠ½ΠΎ Π½Π°ΠΏΠΎΠΌΠΈΡΡ Π΄Π° Π²Π΅ΡΠ·ΠΈΡΠ° 0.9 Π½ΠΈΡΠ΅ ΡΠΊΡΡΡΠΈΠ»Π° Π½ΠΈΠΊΠ°ΠΊΠ²Π° Π²Π΅ΡΠ° ΠΏΠΎΠ±ΠΎΡΡΠ°ΡΠ° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ, Π°Π»ΠΈ Π½ΠΈΡΠ΅ Π±ΠΈΠ»ΠΎ Π½ΠΈ Π΄Π΅Π³ΡΠ°Π΄Π°ΡΠΈΡΠ΅. ΠΠΎΠΊΠ°Π»Π½Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ΅ ΡΠΊΡΡΡΡΡΡ Π±ΡΠ· ΠΏΡΡ Π·Π° Π½Π΅Π³Π»ΠΎΠ±Π°Π»Π½Π΅ ΠΏΠΎΠ΄ΡΠ΄Π°ΡΠ°ΡΠ΅ Ρ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠ° Π²Π΅ΡΠ·ΠΈΡΠ°, ΡΠΌΠ°ΡΠ΅ΡΠ΅ Π±ΡΠΎΡΠ° Π°ΡΠΎΠΌΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ°, ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ ΠΈΠ·ΡΠ°ΡΡΠ½Π°Π²Π°ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ° ΡΠ΅ΠΊΡΠΈΡΠ° ΠΈ ΡΠΈΠΌΠ±ΠΎΠ»Π° ΡΠΎΠΊΠΎΠΌ ΡΠ΅Π»Π°ΠΊΡΠ°ΡΠΈΠΎΠ½ΠΈΡ ΡΠΊΠ΅Π½ΠΈΡΠ°ΡΠ° ΠΈ ΡΠΌΠ°ΡΠ΅Π½Ρ ΠΏΠΎΠ½ΠΎΠ²Π½Ρ ΠΎΠ±ΡΠ°Π΄Ρ Π²Π΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΠΈΡΠ°.
ΠΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΊΠΈ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡΠΈ. ΠΡΠΏΡΠ°Π²ΡΠ΅Π½ΠΎ ΡΡΠΊΠΎΠ²Π°ΡΠ΅ ΡΠ»Π°Π±ΠΈΠΌ Π½Π΅Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈΠΌ ΡΠΈΠΌΠ±ΠΎΠ»ΠΈΠΌΠ°, .ctors/.dtors, RELRO, ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠ° Π²Π΅ΡΠ·ΠΈΡΠ°, SFrame, IFUNC, --version/-v, Π³ΡΠ΅ΡΠΊΠ°ΠΌΠ° Π½Π΅Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈΡ ΡΠΈΠΌΠ±ΠΎΠ»Π°, ΡΠΏΠΎΠ·ΠΎΡΠ΅ΡΠΈΠΌΠ°, ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ°ΡΠΈΠΌΠ° ΠΏΡΠΈ ΠΎΡΠΊΠ»Π°ΡΠ°ΡΡ Π³ΡΠ΅ΡΠ°ΠΊΠ°, .eh_frame, SHT_SYMTAB_SHNDX, ΡΡΠ°ΡΠΈΡΠΊΠΈΠΌ ΠΏΠΎΠ²Π΅Π·ΠΈΠ²Π°ΡΠ΅ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΠ°ΡΠ° ΠΈ Π±ΡΠΎΡΠ½ΠΈΠΌ ΡΡΠ΅Π½Π°ΡΠΈΡΠΈΠΌΠ° ΡΠ° ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠ° Π»ΠΈΠ½ΠΊΠ΅ΡΠ°.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° ΠΈ ΡΠΏΡΠ°Π²ΡΠ°ΡΠ΅ ΠΏΡΠΎΡΠ΅ΠΊΡΠΈΠΌΠ°. ΠΠΎΠ΄Π°ΡΠΈ ΡΡ ΠΊΠΎΠ΄Π΅ΠΊΡ ΠΏΠΎΠ½Π°ΡΠ°ΡΠ°, ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ° LLM-Π°, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° ΠΎ ΡΠΏΡΠ°Π²ΡΠ°ΡΡ, ΠΌΠ°ΡΡΠΈΡΠ° ΠΏΠΎΠ΄ΡΡΠΊΠ΅ Π·Π° Π»ΠΈΠ½ΠΊΠ΅Ρ ΡΠΊΡΠΈΠΏΡΠ΅, ΡΠΏΡΡΡΡΠ²Π° Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ -fuse-ld=wild ΡΠ° GCC 16.1 ΠΈ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΠ° ΠΏΡΡΠ΅ΠΌ Brew-Π°. Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡΠΌ ΡΠ΅ ΡΠ°ΠΊΠΎΡΠ΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ Ρ ΠΏΠΎΡΠ΅Π±Π½Ρ GitHub ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΡ, wild-linker.
Π£ ΠΎΠ²ΠΎΠΌ ΡΡΠ΅Π½ΡΡΠΊΡ, ΠΠΈΠ²ΡΠΈ Π·Π²Π°Π½ΠΈΡΠ½ΠΎ ΡΠΎΠΊΡΡΠΈΡΠ°Π½ ΠΏΡΠ²Π΅Π½ΡΡΠ²Π΅Π½ΠΎ Π½Π° Linux ΠΈ ELF. README Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΏΡΠΎΡΠ΅ΠΊΡΠ° Π½Π°Π²ΠΎΠ΄ΠΈ ΠΏΠΎΠ΄ΡΡΠΊΡ ΠΊΠΠ‘ΠΠ£ΠΠΠ‘-ΠΠ‘ΠΠ£ΠΠΠ‘, ΠΠ ΠΠΠ‘ΠΠ£ΠΠΠ‘, RISC-V riscv64gc ΠΈ ΠΏΠΎΡΠ΅ΡΠ½Ρ ΠΏΠΎΠ΄ΡΡΠΊΡ ΠΠΎΠΎΠ½Π³ΠΡΡΡ 64 Π½Π° Linux; ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ°Π²ΠΈ ΡΡΠ°ΡΠΈΡΠΊΠ΅ Π±ΠΈΠ½Π°ΡΠ½Π΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅, static-PIE, Π΄ΠΈΠ½Π°ΠΌΠΈΡΠΊΠΈ ΠΏΠΎΠ²Π΅Π·Π°Π½Π΅ ΠΈΠ·Π²ΡΡΠ½Π΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅ ΠΈ .so Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅, ΡΠ°Π΄ΠΈ ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°ΠΌΠ° Π·Π° ΠΎΡΠΊΠ»Π°ΡΠ°ΡΠ΅ Π³ΡΠ΅ΡΠ°ΠΊΠ°, GNU jobserver-ΠΎΠΌ ΠΈ Π½Π΅ΠΊΠΈΠΌ Π»ΠΈΠ½ΠΊΠ΅ΡΡΠΊΠΈΠΌ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠ°. ΠΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ ΠΏΠΎΠ²Π΅Π·ΠΈΠ²Π°ΡΠ΅, ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠ΅ Π»ΠΈΠ½ΠΊΠ΅ΡΡΠΊΠ΅ ΡΠΊΡΠΈΠΏΡΠ΅, Mach-O ΠΈ Windows ΡΡΠ΅Π½ΡΡΠ½ΠΎ ΡΠ΅ ΠΊΠ»Π°ΡΠΈΡΠΈΠΊΡΡΡ ΠΊΠ°ΠΎ Π½Π΅ΠΎΡΡΠ²Π°ΡΠ΅Π½Π΅ ΠΈΠ»ΠΈ Π½Π΅Π΄ΠΎΠ²ΡΡΠ΅Π½Π΅ ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡΠΈ.
Π£ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΎΠΌ ΡΠΌΠΈΡΠ»Ρ, Wild 0.9 ΠΏΡΠΎΡΠΈΡΡΡΠ΅ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡ ΡΠ° ΠΏΠΎΡΡΠΎΡΠ΅ΡΠΈΠΌ Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠΎΠΌ Π·Π° ΠΈΠ·Π³ΡΠ°Π΄ΡΡ, ΠΏΠΎΡΠΈΡΠ΅ Π΄Π° ΡΠ΅ ΡΠΈΡΠΈ ΠΈΠ·Π²Π°Π½ ELF-Π° ΠΈ Π΄ΠΎΠ΄Π°ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΡ Π·Π° ΡΡΠ΅Π½Π°ΡΠΈΡΠ΅ ΠΊΠΎΡΠΈ ΠΎΡΠ΅ΠΆΠ°Π²Π°ΡΡ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π»ΠΈΠ½ΠΊΠ΅ΡΠ° Ρ Π²Π΅Π»ΠΈΠΊΠΈΠΌ C/C++ ΠΈ ΠΌΠ΅ΡΠΎΠ²ΠΈΡΠΈΠΌ ΠΏΡΠΎΡΠ΅ΠΊΡΠΈΠΌΠ°. ΠΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠ΅ Rust-Π°, Wild ΠΎΡΡΠ°ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ°Π½ΡΠ°Π½ ΠΊΠ°ΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΡΠ°Π»Π½Π° Π±Π°Π·Π° Π·Π° Π±ΡΠ΄ΡΡΠ΅ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ ΠΏΠΎΠ²Π΅Π·ΠΈΠ²Π°ΡΠ΅, Π° Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠ°ΠΎ ΡΠΎΡ ΡΠ΅Π΄Π°Π½ Π±ΡΠ·ΠΈ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½Ρ GNU ld, LLD ΠΈ Mold.
ΠΠ·Π²ΠΎΡ: Π»ΠΈΠ½ΡΠΊ.ΠΎΡΠ³.ΡΡ
