mold 2.0.0
Mold 2.0.0 is a new major release of our high-speed linker. With this release, we've transitioned our license from AGPL to MIT, aiming to expand the user base of our linker. This was not an easy decision, as those who have been following our progress know that we've been attempting to monetize our product through an AGPL/commercial license dual-licensing scheme. Unfortunately, this approach didn't meet our expectations. The license change represents our acceptance of this reality. We don't want to persist with a strategy that didn't work well.
As always, we welcome new GitHub sponsors. If you are happy with the license change, please consider becoming a sponsor.
In addition to the license change, here is a list of updates we have made in this release:
- Previously, mold could not produce an object file with more than 65520 sections using the
--relocatableoption. Now the bug has been fixed. (2e8bd0b) - mold now interprets
-undefinedas a synonym for--undefinedinstead of-u ndefined. This seems inconsistent, as-ufoois generally treated as-u foo(which is an alias for--undefined foo), but this is the behavior of the GNU linkers and LLVM lld, so we prioritize compatibility over consistency. -nopieis now handled as a synonym for--no-pie.- [RISC-V]
R_RISCV_SET_ULEB128andR_RISCV_SUB_ULEB128relocation types are now supported (4bffe26, 1ac5fe7) - [PPC64]
R_PPC64_REL32relocation type is now supported. (ebd780e)