Log message:
mold: update to 0.9.5.
Highlights of mold 0.9.5:
- In 0.9.4, we changed the mold's behavior on remaining weak undefined
symbols, so that they would be resolved to address zero if we were
creating a shared object file with the -z defs option. Now, such symbols
will be promoted to dynamic symbols so that they'll get another chance
to be resolved at run-time. This change fixes a regression of Firefox
build failure (#114), which depends on this particular linker behavior
to export symbols from libxul.so.
- mold can now be built on macOS. Note that mold is still able to produce
only ELF (Unix) files — so you can use it for cross compilation on
macOS for Linux, but you can't use mold for macOS native development.
- Relocation overflow are now reported as errors on AArch64 and
i386. Previously, such relocations were silently producing incorrect
output.
Highlights of mold 0.9.4:
- mold -run now intercepts invocations of ld, ld.lld and ld.gold wherever
they are in the directory hierarchy. Previously, they were intercepted
only if they were in /usr/bin. This change was made because it is not
uncommon to install a compiler toolchain into a directory other than
the system bin directory.
- AArch64 (Arm 64-bit) support has been significantly improved. mold
can now link many real-world programs including itself for AArch64.
- Fix an issue that relocation addends were not handled correctly
for i386.
- mold is now able to link LLVM compiler-rt's CRT files.
- Fix an issue that a dynamic relocation was created for a read-only
section if the relocation refers an unresolved weak symbol.
- Undefined weak symbols are now always resolved to address 0 instead
of being promoted to dynamic symbols.
|
Log message:
devel/mold: import mold-0.9.3.
mold is a new linker that is optimized for modern multi-core machines.
mold is command-line compatible with the other major linkers, GNU ld, GNU gold
and LLVM lld, yet it is several times faster than them. Its goal is to increase
programmer productivity by speeding up program build time, especially for rapid
edit-build-test-debug cycles.
|