./devel/mold, High performance drop-in replacement for existing Unix linkers

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.9.6, Package name: mold-0.9.6, Maintainer: fcambus

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.


Master sites:

Filesize: 3299.51 KB

Version history: (Expand)


CVS history: (Expand)


   2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016)
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Could not be committed due to merge conflict:
devel/py-traitlets/distinfo

The following distfiles were unfetchable (note: some may be only fetched
conditionally):

./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
   2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017)
Log message:
devel: Remove SHA1 hashes for distfiles
   2021-09-27 22:53:14 by Frederic Cambus | Files touched by this commit (3) | Package updated
Log message:
mold: update to 0.9.6.

mold 0.9.6 is a maintenance release of the mold linker. This release
contains only a single change to fix the following issue:

mold used to create dynamic relocations for imported symbols when
creating a position-dependent executable. That worked fine in an
environment in which position-independent code (PIC) is enabled by
default such as recent versions of most Linux distros. However, it
failed with the "recompile with -fPIC" error if PIC was disabled and
a dynamic relocation was created in a read-only section. mold 0.9.6
fixed the issue by creating copy relocations and PLTs for such symbols.
   2021-09-11 17:40:23 by Frederic Cambus | Files touched by this commit (3) | Package updated
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.
   2021-07-29 23:17:17 by Frederic Cambus | Files touched by this commit (5)
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.