Skip to content

Releases: davidlattimore/wild

0.5.0

14 May 04:58
Compare
Choose a tag to compare

Release Notes

A lot of fixes and new features since 0.4.0. We had 200 commits.

  • Improve error message for LTO objects in archives (mati865)
  • Fix setting of STATIC_TLS on non-x86-64 arch (marxin)
  • linker-diff: Diff program segments (lapla-cogito)
  • Fix alignment of stack segment (lapla-cogito)
  • Basic linker script support #44 (davidlattimore)
    • Defining custom output sections
    • Mapping input sections to output sections
    • Defining symbols relative to sections
    • Setting the address of output sections
    • Setting alignment
    • KEEP command
    • ENTRY command
  • Support for --entry flag (davidlattimore)
  • Ignore some flags that we don't yet support (mati865)
  • Don't error if multiple COMDAT groups define the same symbol (davidlattimore)
  • Output section attributes now inherit from corresponding input section attributes (davidlattimore)
  • Fix linking against protected symbols in shared objects (davidlattimore)
  • Integration tests now support a test configuration file (lapla-cogito)
  • Added support for -z norelro (davidlattimore)
  • Fix misalignment of TLS when TDATA is absent #614 (davidlattimore)
  • TLSDESC handling improvements (marxin)
  • Set DF_ORIGIN and DF_1_ORIGIN when -z origin is passed (davidlattimore)
  • Don't error if _start is undefined #613 (davidlattimore)
  • Fix direct references to ifuncs in relocatable executables #580 (davidlattimore)
  • Support -l:<name.ext> args (mati865)
  • Make sure that we don't export hidden symbols #604 (davidlattimore)
  • Don't emit duplicate symbol error on STB_GNU_UNIQUE #598 (davidlattimore)
  • Fix dynamic relocations with non-zero addends on recent glibc #576 (davidlattimore)
  • Better error reporting for duplicate symbols (lapla-cogito)
  • Fix sysroot handling when sysroot indicators are not followed by a slash #590 (mati865)
  • Handle symbol aliases when doing copy relocations #576 (davidlattimore)
  • Fix error message if an empty linker script is provided (marxin)
  • A few performance improvements (davidlattimore, mati865, marxin)
  • Support outputting versioned symbols in shared objects #41 (mati865)
  • Support for --start-lib and --end-lib (davidlattimore)
  • Verify that input files didn't change while we were running (davidlattimore)
  • Added support for thin archives (GlowingScrewdriver)
  • Don't delete old output file if it's not a regular file #546 (davidlattimore)
  • Added support for --undefined #528 (davidlattimore)
  • More aarch64 relaxations (marxin)

wild-linker 0.5.0

Install wild-linker 0.5.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/davidlattimore/wild/releases/download/0.5.0/wild-linker-installer.sh | sh

Download wild-linker 0.5.0

File Platform Checksum
wild-linker-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
wild-linker-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

linker-diff 0.5.0

Install linker-diff 0.5.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/davidlattimore/wild/releases/download/0.5.0/linker-diff-installer.sh | sh

Download linker-diff 0.5.0

File Platform Checksum
linker-diff-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
linker-diff-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.4.0

01 Mar 04:58
Compare
Choose a tag to compare

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 | sh

Download 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 | sh

Download linker-diff 0.4.0

File Platform Checksum
linker-diff-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.3.0

02 Dec 23:54
Compare
Choose a tag to compare

wild 0.3.0

Install wild 0.3.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/davidlattimore/wild/releases/download/0.3.0/wild-installer.sh | sh

Download wild 0.3.0

File Platform Checksum
wild-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

linker-diff 0.3.0

Install linker-diff 0.3.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/davidlattimore/wild/releases/download/0.3.0/linker-diff-installer.sh | sh

Download linker-diff 0.3.0

File Platform Checksum
linker-diff-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum