mold 1.4.0 is a new release of the high-speed linker. This release contains a few new features and general stability/compatibility improvements as shown below.
Note for those who create mold binary packages: if you are building mold for binary distribution, please link the bundled libtbb statically (which is default) or rebuild your distro's libtbb package with my patch so that mold's Link-Time Optimization (LTO) works reliably under a heavy load.
New features
- Initial support for the 32-bit RISC-V (RV32) has landed. (d9db6bc)
- mold now demangles Rust symbols in error messages thanks to @eddyb's rust-demangle.c. (22e1bba)
--export-dynamic-symbol
and--export-dynamic-symbol-list
are now supported for the sake of compatibility with LLVM lld. With these options, you can specify symbols that should be exported using glob pattern. (e115aae)- [x86-64] PLT entries created by mold now always begins with
ENDBR64
instruction to improve compatibility with Intel IBT (Indirect Branch Tracking.) (e3e371d)
Bug fixes and compatibility improvements
- mold now defines
__dso_handle
symbol. The lack of this linker-synthesized symbol caused a link error with GCC in some environments (#507). (764d757)
Acknowledgements
mold is an open-source project, and we accept donations via GitHub Sponsors and OpenCollective. We thank you to everybody 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: