Skip to content

mold 2.0.0

Compare
Choose a tag to compare
@rui314 rui314 released this 26 Jul 12:37
· 984 commits to main since this release

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 --relocatable option. Now the bug has been fixed. (2e8bd0b)
  • mold now interprets -undefined as a synonym for --undefined instead of -u ndefined. This seems inconsistent, as -ufoo is 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.
  • -nopie is now handled as a synonym for --no-pie.
  • [RISC-V] R_RISCV_SET_ULEB128 and R_RISCV_SUB_ULEB128 relocation types are now supported (4bffe26, 1ac5fe7)
  • [PPC64] R_PPC64_REL32 relocation type is now supported. (ebd780e)