v2.0.0:
- transition from AGPL to MIT
- Previously, mold could not produce an object file with more than 65520
sections using the --relocatable option. Now the bug has been fixed.
- 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)
v2.1.0:
- Loongson's LoongArch CPU has been supported. (03b1a1c)
- -z nosectionheader has been added to eliminate section headers from the
output file. (084ca55)
- Previously, linking with the -z pack-relative-relocs option produces an
executable that glibc 2.38 refuses to run with DT_RELR without
GLIBC_ABI_DT_RELR dependency error. Now, mold produces binaries compatible
with glibc 2.38. (f467ad1)
- [ARM64] R_AARCH64_ADR_PREL_PG_HI21_NC relocation type has been supported.
(17a5c3e)
- [ARM64] R_AARCH64_MOVW_UABS_G3 relocation type has now been handled as a
PLT-generating relocation to fix an issue when main is not defined in the
main executable but rather in a .so file. (e764557)
- [RISC-V] We now merge input .riscv.attributes contents. Previously, we
just concatenated them. (aa64491)
Signed-off-by: Andre Heider <a.heider@gmail.com>
mold is a faster drop-in replacement for existing Unix linkers.
A single binary is able to link various targets, which is why this lives
in tools/.
All toolchain builds then just need to copy the linker over, hence avoiding
multiple builds with the same outcome.
Signed-off-by: Andre Heider <a.heider@gmail.com>