mold 2.2.0 is a new release of the high-speed linker.
New features
- We now use BLAKE3 as a cryptographic hash function instead of SHA256. This change has made
--build-id
a few percent faster. libssl is no longer a build dependency. (7f7a744) - mold is now a few percent faster than the previous version due to an optimization of string merging code path. (1a13c50)
- mold now emits slightly optimized code for thread-local variable accesses. (f057fda, d56f528)
- [RISC-V] mold now supports TLSDESC relocations. TLSDESC is a new mechanism for faster thread-local variable access. We (@ishitatsuyuki) actually led the effort to ratify the specification (riscv-non-isa/riscv-elf-psabi-doc#373) and implement it to compiler toolchain including GCC, GNU binutils and, of course, mold. (141556d)
Bug fixes and compatibility improvements
- mold no longer marks an as-needed .so as "needed" if the .so file is not directly used by the output file. Previously, mold marked a .so file as "needed" if the .so file was used by another "needed" .so file. (f02db0f)
- [PPC64]
--execute-only
now works on 64-bit PowerPC. (ac20d87, 51fec5f)
Acknowledgements
mold is an open-source project, and we accept donations via GitHub Sponsors and OpenCollective. We thank everyone who sponsors our project. In particular, we'd like to acknowledge the following organizations and people who have sponsored $32/mo or more during this release cycle: