mold: A Modern Linker
https://github.com/rui314/mold
mold is a faster drop-in replacement for existing Unix linkers.
It is several times faster than LLVM lld linker, the second-fastest
open-source linker which I originally created a few years ago.
mold is created for increasing developer productivity by reducing
build time especially in rapid debug-edit-rebuild cycles.
Here is a performance comparison of GNU gold, LLVM lld, and mold for
linking final debuginfo-enabled executables of major large programs
on a simulated 8-core 16-threads machine.
- Developed at devel:tools:compiler
- Sources inherited from project openSUSE:Factory
-
2
derived packages
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout openSUSE:Factory:PowerPC/mold && cd $_
- Create Badge
Refresh
Refresh
Source Files
Filename | Size | Changed |
---|---|---|
_constraints | 0000000128 128 Bytes | |
mold-1.8.0.tar.gz | 0008155820 7.78 MB | |
mold.changes | 0000022598 22.1 KB | |
mold.spec | 0000003005 2.93 KB |
Revision 26 (latest revision is 42)
Dominique Leuenberger (dimstar_suse)
accepted
request 1045468
from
Martin Liška (marxin)
(revision 26)
- Update to version 1.8.0 * The --relocatable (or -r) option has been reimplemented to improve its performance and compatibility with the GNU linkers. That option tells the linker to combine input object files into another object file instead of into an executable or a shared library file. mold has been supporting the feature since version 0.9, but until now the output file created with -r looked fairly different from what GNU linkers would produce. GHC (Glasgow Haskell Compiler) in particular uses re-linkable object files as dynamic libraries instead of real .so files, and it didn't work with mold. Now, mold can produce object files that GHC can load. Note that this work was funded by Mercury, so thanks to the company to help us improve the product. (Yes, you can ask us to prioritize your feature request by funding the project.) (c9a7ae7) * --relocatable-merge-sections option has been added. By default, mold keeps original input section names for the --relocatable output and therefore does not merge input sections into a single output sections unless they are of the same name. If --relocatable-merge-sections is given, mold merges input by the usual default merging rule. For example, .text.foo and .text.bar are merged to .text if and only if --relocatable-merge-sections is given for the --relocatable output. (c2a0ae1) * -z [no]dynamic-undefined-weak options have been added. This option controls whether an undefined weak symbol is promoted to a dynamic symbol or not. (ed235f3) * --[no-]undefined-version options have been supported. Now, mold warns on a symbol name in a version script if it does not match with any defined symbol. This change was made so that it is easy to find a typo in a version script. (e2d7353) * mold now warns on symbol type mismatch. If two object files have the same symbol with different symbol types, it usually means your program has a bug. Chances are, you are using the same identifier as a function name in one translation unit and as a global variable name in another. So it makes sense to warn on the
Comments 0