Skip to content

mold 2.2.0

Compare
Choose a tag to compare
@rui314 rui314 released this 24 Sep 07:18
· 412 commits to main since this release

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: