Objavljeno je izdanje Mold linkera koji se može koristiti kao brža, transparentna zamjena za GNU linker na Linux sistemima. Projekat je razvio autor LLVM lld linkera. Ključna karakteristika Mold-a je vrlo velika brzina povezivanja objektnih datoteka, znatno ispred linkera GNU gold i LLVM lld (povezivanje u Mold-u se izvodi brzinom koja je samo upola manja od jednostavnog kopiranja datoteka pomoću cp uslužnog programa). Kod je napisan u C++ (C++20) i distribuiran pod AGPLv3 licencom.
U novoj verziji:
- Dodata podrška za optimizaciju u fazi povezivanja (LTO, Link Time Optimization). LTO optimizacije se razlikuju uzimajući u obzir stanje svih fajlova uključenih u proces izgradnje, dok tradicionalni načini optimizacije optimizuju svaki fajl posebno i ne uzimaju u obzir uslove za pozivanje funkcija definisanih u drugim datotekama. Dok su ranije, kada su pronađene GCC ili LLVM datoteke srednjeg koda (IR), pozivani su odgovarajući ld.bfd ili ld.lld linkeri, sada Mold samostalno obrađuje IR datoteke i koristi API dodatka za povezivanje, koji se također koristi u GNU ld i GNU zlatni linkeri. Kada je omogućen, LTO je samo neznatno brži od drugih linkera jer se većina vremena troši na optimizaciju koda, a ne na povezivanje.
- Dodata podrška za RISC-V (RV64) arhitekturu na host i ciljnoj platformi.
- Dodata opcija “--emit-relocs” kako bi se omogućilo kopiranje sekcija relokacije iz ulaznih datoteka u izlazne datoteke za naknadnu primjenu optimizacija u fazi post-linkovanja.
- Dodata je opcija “--shuffle-sections” za nasumični redoslijed sekcija prije fiksiranja njihovih adresa u virtuelnom adresnom prostoru.
- Dodane opcije “--print-dependencies” i “--print-dependencies=full” za izlaz u CSV formatu informacija o zavisnostima između ulaznih datoteka, koje se, na primjer, mogu koristiti za analizu razloga za povezivanje prilikom povezivanja određenih objektnih datoteka ili kada se izvršavaju zavisnosti rada minifikacije između datoteka.
- Dodane opcije "--warn-once" i "--warn-textrel".
- Uklonjena ovisnost o libxxhash.
izvor: opennet.ru