Spyke

Syndicated from the fediverse. Read and engage on the original instance.

View original on programming.dev
programming·ProgrammingbyBB_C

wild v0.9 released (wild is a super-fast linker with the end goal of supporting incremental linking)

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.

[...]

wild v0.9 released (wild is a super-fast linker with the end goal of supporting incremental linking)https://github.com/wild-linker/wild/releases/tag/0.9.0Open linkView original on programming.dev
26

7 replies

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!

6
Flipperreply
feddit.org

Mold is already very fast, however it doesn't do incremental linking and the author has stated that they don't intend to. Wild doesn't do incremental linking yet, but that is the end-goal. By writing Wild in Rust, it's hoped that the complexity of incremental linking will be achievable.

3

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.

1

Also I believe Mold only supports ELF.

And based on the benchmarks they've posted, Wild is even faster than Mold.

0

While eventually implementing incremental linking was the inspiration, as already pointed out. It's actually already faster than mold (see benchmarks).

1

You reached the end

wild v0.9 released (wild is a super-fast linker with the end goal of supporting incremental linking) | Spyke