For those interested in compilers, Mold as a “modern linker” is one of the interesting projects to watch in 2022.
Mold 1.0 came in late 2021 for this project developed by Rui Ueyama also known as the original developer of LLVM’s LLD linker. Mold 1.0 is considered stable and production ready, showing very promising results when compared to LLVM’s LLD linkers or GNU’s Gold linkers. Mold has sparked interest among developers and now Mold 1.0.2 is out this Sunday with fixes and minor updates.
While Mold is working on native Link Time Optimization (LTO) support, Mold 1.0.2 will now fall back to using ld.bfd or ld.lld when GCC/LLVM LTO support is requested. This at least won’t break builds, so should work fine until Mold’s LTO support is ready.
Mold 1.0.2 also now honors more flags supported by other linkers, ARM64 scope extension thunks are now present, support for mold on NetBSD works and gives compact 8 byte PLT entries instead of 16 byte entries on x86_64 if ” -z now” and support for RELR type packed dynamic relocations.
Previous benchmarks from the Mold project show the very convincing linker performance.
There are also performance improvements with Mold 1.0.2 by rewriting the script processor, which is especially beneficial when using it * Glob pattern matching behavior. There is also more streamlined move processing for unallocated sections. This latter optimization work will help speed things up when the binary contains a lot of debug information.
Plus Mold 1.0.2 has numerous bug fixes including the ability to handle archive files larger than 4 GiB. More details about the changes with Mold 1.0.2 via Project GitHub.