Release Notes
A huge release with more than 250 commits since 0.3.0. We've also had several new contributors,
which is awesome.
- Wild now supports aarch64 on Linux (marxin)
- Support for TLSDESC (marxin)
- Linker diff mostly rewritten. Now gives much less false positives and diffs more stuff.
(davidlattimore) - Added support for --sysroot (mati865)
- Added support for --whole-archive (riverbl)
- Added support for -z nocopyreloc (davidlattimore)
- Added support for references to versioned symbols (davidlattimore)
- Added support declaring default symbol versions via '@@' in symbol names (davidlattimore)
- Added support for RELRO (inflation)
- Report errors on undefined symbols (mati865)
- Allow --version to be specified with regular linker arguments (inflation)
- Detect objects built for wrong architecture and report proper error (inflation)
- Keep sections if
__start_/__stop_{SEC}is referenced. Fixes linkme crate (davidlattimore) - Improved performance of string merging, which affects debug info link time (davidlattimore,
marxin) - Remove unnecessary and unwanted copy relocations (davidlattimore)
- Emit debug symbols for copy relocations (davidlattimore)
- Demangle symbol names in various error messages (davidlattimore, marxin)
- Improve error message when an absolute relocation is used against a read-only section with a
relocatable output (davidlattimore) - Handle initialisers / destructors in .ctors.* / .dtors.* (davidlattimore)
- Added flag --update-in-place (davidlattimore)
- Fixed referenced to merged strings in relocatable binaries (davidlattimore)
- Optimise x86-64 jmp instructions to bypass GOT (mati865)
- Ignore or warn on various flags that we don't yet support (marxin)
- Don't strip
.debug_sections if they have the alloc flag set (davidlattimore) - Lots of improvements to testing (marxin, mati865, davidlattimore)
- Fixed link error if a shared object had a strong reference to a symbol defined by a discarded
archive entry (davidlattimore) - We should now be publishing to crates.io, so tools like cargo-binstall should work.
- Numerous bugfixes
wild-linker 0.4.0
Install wild-linker 0.4.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/davidlattimore/wild/releases/download/0.4.0/wild-linker-installer.sh | shDownload wild-linker 0.4.0
| File | Platform | Checksum |
|---|---|---|
| wild-linker-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
linker-diff 0.4.0
Install linker-diff 0.4.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/davidlattimore/wild/releases/download/0.4.0/linker-diff-installer.sh | shDownload linker-diff 0.4.0
| File | Platform | Checksum |
|---|---|---|
| linker-diff-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |