from BB_C@programming.dev to programming@programming.dev on 24 May 07:42
https://programming.dev/post/50888885
A lot of work in this release was related to porting to other platforms. We did a large number of refactorings to put ELF-specific behaviour behind traits. We’ve also started work on porting to Mach-O and WebAssembly. These aren’t yet ready for use, but if you’d like to help out with porting, get in touch.
Wild now supports the linker plugin API that was originally part of the Gold linker, but which is also supported by GNU ld and Mold. This lets us do linker-plugin LTO (link time optimisation). There are still a few known issues, but it’s already working on a good range of programs. Pure Rust projects generally don’t use linker plugins, since Rust can do LTO within the compiler, so this is mostly helpful for C, C++ or mixed language projects. Note that when using a linker plugin, link times will be very slow.
Lots more linker-script features were implemented during this release.
[…]
#programming
threaded - newest
What I always really wanted was some kind of linker script debugger. Let me step through the linker script, show me all the input objects & segments etc.
Linker scripts are one of the worst aspects of the GNU (and LLVM) toolchain. Weird custom language, poor documentation, quite buggy, zero debugging tools.
Anyway, impressively huge release!
What advantage does this have compared to mold?
Honestly, op should’ve also put that on the excerpt. Thanks!
It’s on the title, you don’t even need to read the excerpt👆.
But more seriously, the excerpt is from the release/tag notes, but what’s quoted above is from the README.
Also I believe Mold only supports ELF.
And based on the benchmarks they’ve posted, Wild is even faster than Mold.
While eventually implementing incremental linking was the inspiration, as already pointed out. It’s actually already faster than mold (see benchmarks).