VerĂ«ffentlecht Wild Linker 0.9.0 â e neie performante Linker, deen a Rust geschriwwe gouf. D'VerĂ«ffentlechung ass op GitHub opgelĂ«scht. 23 Mee 2026 JoerDe Projet ass als Linker fir d'Beschleunegung vun der iterativer EntwĂ©cklung positionĂ©iert: d'Auteuren wĂ«llen letztendlech eng inkrementell Linking erreechen, obwuel dat an der aktueller Versioun nach net implementĂ©iert ass. De Code gĂ«tt Ă«nner enger duebeler Lizenz verdeelt. Apache 2.0 / MIT.
DĂ©i HaaptĂ€nnerung am Wild 0.9 ass d'ĂnnerstĂ«tzung Linker Plugin API, eng Interface, dĂ©i am Gold Linker agefouert gouf an och vu GNU ld a Mold Ă«nnerstĂ«tzt gouf. Fir Wild mĂ©cht dat de Wee frĂ€i fir Linker-Plugin LTO â OptimisĂ©ierunge vun der LinkzĂ€it iwwer e Linker-Plugin. D'EntwĂ©ckler soen speziell, datt dĂ«st haaptsĂ€chlech fir C-, C++- a Mixed-Code-Projeten nĂ«tzlech ass, wĂ€hrend reng Rust-Projeten typescherweis intern LTO ausfĂ©ieren. D'ĂnnerstĂ«tzung fir dĂ«s Funktioun huet nach Ă«mmer bekannt Problemer, an d'Verlinkung iwwer de Plugin ka lues sinn.
E wesentlechen Deel vun der Aarbecht am Joer 0.9 huet sech mat de Virbereedunge fir den Transfer vu Wild iwwer ... Linux/ELF. ELF-spezifesch Logik gouf ausserhalb vun den Abstraktiounen gerĂ©ckelt, an d'Aarbecht un der ĂnnerstĂ«tzung huet ugefaangen. Mach-O Đž WebAssemblĂ©eDĂ«s FĂ€egkeete sinn nach net prett fir de prakteschen Asaz, awer dĂ©i Ă©ischt Elementer sinn schonn opgetrueden: Mach-O Parsing, Sektiouns- a Segmentveraarbechtung, Symboltabell, Codesignatur, Fat-BinĂ€r, souwĂ©i initial ĂnnerstĂ«tzung fir Wasm-Sektiounen, Symboler a Relokatiounen.
SchlësselÀnnerungen am Wild Linker 0.9:
ĂnnerstĂ«tzung fir Linker-Plugins. ĂnnerstĂ«tzung fir Linker-Plugin-APIs gouf bĂ€igefĂŒĂŒgt, wat fir de Linker-Plugin LTO nĂ©ideg ass, an et gouf KompatibilitĂ©it mat verschiddene GCC/GNU ld/Mold-Build-Skripten. E puer Problemer am Zesummenhang mat Plugin-Callbacks goufen och gelĂ©ist, dorĂ«nner ganz Archiv, ThinLTO, d'Limit fir oppe Dateien an d'Entfernung vun doudege Code wĂ€hrend LTO.
Grouss Erweiderung vun der ĂnnerstĂ«tzung vu Linker-Skripten. D'Direktiven PROVIDE an PROVIDE_HIDDEN, d'ASSERT-Parsing an d'AusfĂ©ierung, d'ĂnnerstĂ«tzung fir MEMORY, ORIGIN, LENGTH, LOADADDR, ALIGNOF, SEGMENT_START, K an M Suffixen an numeresche Literalen, logesch, bitweis an unĂ€r Operatoren, an d'IwwereneestĂ«mmung mat Input-Dateinummen sinn implementĂ©iert. DĂ«st brĂ©ngt Wild mĂ©i no un d'KompatibilitĂ©it mat komplexe Linkskripten, dĂ©i dacks a Systemsoftware a Low-Level-Projeten fonnt ginn.
Verbesserunge fir RISC-V, AArch64, x86-64 a LoongArch64. RISC-V Call Relaxation, HI20 Relaxation, R_RISCV_ALIGN, IwwerprĂ©iwung op konfliktĂ©ierend ISA-Erweiderungen, zousĂ€tzlech AArch64 Relocations, Range-Extension Thunks fir AArch64, Ămgang mat enger Rei vun x86-64 Relocations mat Relaxatiounen, a Range- an Alignment-KlĂ€rungen fir LoongArch64 goufen bĂ€igefĂŒĂŒgt.
Nei KompatibilitĂ©itsoptiounen. ĂnnerstĂ«tzung fir --dependency-file, --auxiliary, --exclude-libs, --enable-new-dtags, --disable-new-dtags, --trace, --nmagic, --compress-debug-sections, --pack-dynamic-relocs=relr, --use-android-relr-tags, an dĂ©i leerplazlos Form -o/path gouf bĂ€igefĂŒĂŒgt.
Generatioun vu statesch bewegende Objeten. ĂnnerstĂ«tzung fir d'Erstelle vu statesche relocatables - ZwĂ«schenobjektdateien, dĂ©i weiderhin un der weiderer VerknĂ«ppung deelhuele kĂ«nnen - gouf bĂ€igefĂŒĂŒgt.
Performanceverbesserungen ouni sech op eng "séier" Verëffentlechung ze konzentréieren. D'Auteuren bemierken explizit, datt Versioun 0.9 keng gréisser Leeschtungsverbesserungen enthÀlt huet, awer et och keng Verschlechterung gouf. Lokal Optimiséierunge enthalen e schnelle Wee fir net-global Matcher a Versiounsskripten, eng Reduktioun vun der Unzuel vun atomaren Operatiounen, parallel Berechnung vu Sektiouns- an Symboladressen wÀhrend Relaxatiounsscannen, an eng reduzéiert Neiveraarbechtung vu scho geléiste Sektiounen.
Vill Kompatibilitéitsfixes. Korrigéiert Behandlung vu schwaache ondefinéierte Symboler, .ctors/.dtors, RELRO, Versiounsskripten, SFrame, IFUNC, --version/-v, ondefinéierte Symbolfehler, Warnungen, Debug-Relokatiounen, .eh_frame, SHT_SYMTAB_SHNDX, stateschem Verknëppen vun dynameschen Objeten, an enger Rei vu Szenarie mat Linker-Skripten.
Dokumentatioun a Projetmanagement. E Verhalenskodex, eng LLM-Benotzungspolitik, Governance-Dokumentatioun, eng Linker-Skript-ĂnnerstĂ«tzungsmatrix, Instruktioune fir d'Benotzung vun -fuse-ld=wild mat GCC 16.1 an d'Installatioun iwwer Brew goufen derbĂ€igesat. De Repository gouf och an eng separat GitHub-Organisatioun, wild-linker, verluecht.
Am Moment Wild offiziell haaptsĂ€chlech konzentrĂ©iert op Linux an ELF. De README vum Projet Ă«nnerstĂ«tzt x86-64, ARM64, RISC-V riscv64gc an initial ĂnnerstĂ«tzung LoongArch64 op Linux; kann statesch BinĂ€rdateien, statesch-PIE, dynamesch verlinkt ausfĂŒhrbar Dateien an .so Dateien erstellen, schafft mat Debuginformatiounen, GNU Jobserver a verschiddene Linker-Skripter. Inkrementell Verlinkung, mĂ©i komplex Linker-Skripter, Mach-O a Windows ginn de Moment als net realisĂ©iert oder net ofgeschloss MĂ©iglechkeeten klassĂ©iert.
Praktesch gesinn erweidert Wild 0.9 d'KompatibilitĂ©it mam bestehenden Build-Ăkosystem, fĂ€nkt un, iwwer ELF erauszegoen, an Ă«nnerstĂ«tzt Szenarien, dĂ©i et schwĂ©ier maachen, de Linker a grousse C/C++ a gemĂ«schte Projeten ze benotzen. Fir Rust-EntwĂ©ckler bleift Wild interessant als potenziell Basis fir zukĂŒnfteg inkrementell Linking, a fir SystementwĂ©ckler, als en anere schnelle Konkurrent zu GNU ld, LLD a Mold.
Source: linux.org.ru
