Wild is a linker with the goal of being very fast for iterative development.
The plan is to eventually make it incremental, however that isn't yet implemented. It is however already pretty fast even without incremental linking.
The goal of Wild is to eventually be very fast via incremental linking. However, we also want to be as fast as we can be for non-incremental linking and for the initial link when incremental linking is enabled. See BENCHMARKING.md for details on running benchmarks.
We run benchmarks on a few different systems:
- Ryzen 9 9955HX (16 core, 32 thread)
- 2020 era Intel-based laptop with 4 cores and 8 threads
- Raspberry Pi 5
For example, linking Chromium with CREL relocations on the Ryzen system:
The following platforms / architectures are currently supported:
- x86-64 on Linux
- AArch64 (ARM64) on Linux
- RISC-V (riscv64gc) on Linux
- LoongArch64 on Linux
- PPC64LE on Linux (initial support)
Here are some of the bigger things we're looking ahead to:
- Incremental linking
- Mach-O support
- WebAssembly support
- Windows support
Download a tarball from the releases page. Unpack
it and copy the wild binary somewhere on your path.
If you have cargo-binstall, you can install wild as follows:
cargo binstall wild-linkerbrew install wild-linker/wild/wildcargo install --locked wild-linkerTo build and install the latest, unreleased code:
cargo install --locked --bin wild --git https://github.com/wild-linker/wild.git wild-linkerTo use a stable Wild from Nixpkgs:
let
wildStdenv = pkgs.useWildLinker pkgs.stdenv;
in
pkgs.callPackage ./package { stdenv = wildStdenv; }to use the latest unstable git revision of wild, see the nix documentation.
For more information on contributing to Wild, see CONTRIBUTING.md.
We have a Zulip server for Wild-related chat. You can join here.
Many of the posts on David's blog are about various aspects of the Wild linker.
If you'd like to sponsor this work, that would be very much appreciated. The more sponsorship I get the longer I can continue to work on this project full time.
Also, the Wild project is supported by the Rust Foundation's Rust Innovation Lab: https://rustfoundation.org/media/welcoming-wild-to-the-rust-innovation-lab/
The Wild project adheres to the Rust code of conduct. If you have any moderation concerns or queries, please email wild-mod@googlegroups.com.
Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Wild by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
