| .. If you want to modify sections/contents permanently, you should modify both |
| ReleaseNotes.rst and ReleaseNotesTemplate.txt. |
| |
| =========================== |
| lld |release| Release Notes |
| =========================== |
| |
| .. contents:: |
| :local: |
| |
| .. only:: PreRelease |
| |
| .. warning:: |
| These are in-progress notes for the upcoming LLVM |release| release. |
| Release notes for previous releases can be found on |
| `the Download Page <https://releases.llvm.org/download.html>`_. |
| |
| Introduction |
| ============ |
| |
| This document contains the release notes for the lld linker, release |release|. |
| Here we describe the status of lld, including major improvements |
| from the previous release. All lld releases may be downloaded |
| from the `LLVM releases web site <https://llvm.org/releases/>`_. |
| |
| Non-comprehensive list of changes in this release |
| ================================================= |
| |
| ELF Improvements |
| ---------------- |
| |
| * ``--print-gc-sections=<file>`` prints garbage collection section listing to a file. |
| (`#159706 <https://github.com/llvm/llvm-project/pull/159706>`_) |
| |
| Breaking changes |
| ---------------- |
| |
| COFF Improvements |
| ----------------- |
| |
| * ``/fat-lto-objects`` addded to support FatLTO. Without ``/fat-lto-objects`` or with ``/fat-lto-objects:no``, LLD will link LLVM FatLTO objects using the relocatable object file. |
| (`#165529 <https://github.com/llvm/llvm-project/pull/165529>`_) |
| * ``/linkreprofullpathrsp`` prints the full path to each object passed to the link line to a file. |
| (`#174971 <https://github.com/llvm/llvm-project/pull/165449>`_) |
| * ``-prefetch-inputs`` can improve link times by asynchronously loading input files in RAM. |
| This will dampen the effect of input file I/O latency on link times. |
| However this flag can have an adverse effect when linking a large number of inputs files, or if all |
| inputs do not fit in RAM at once. For those cases, linking might be a bit slower since the inputs |
| will be streamed into RAM upfront, only to be evicted later by swapping. |
| (`#169224 <https://github.com/llvm/llvm-project/pull/169224>`_) |
| |
| MinGW Improvements |
| ------------------ |
| |
| MachO Improvements |
| ------------------ |
| |
| * ``--separate-cstring-literal-sections`` emits cstring literal sections into sections defined by their section name. |
| (`#158720 <https://github.com/llvm/llvm-project/pull/158720>`_) |
| * ``--tail-merge-strings`` enables tail merging of cstring literals. |
| (`#161262 <https://github.com/llvm/llvm-project/pull/161262>`_) |
| |
| WebAssembly Improvements |
| ------------------------ |
| |
| * The ``--stack-first`` flag is now enabled by default. The old |
| behavior can be enabled using ``--no-stack-first``. |
| |
| Fixes |
| ##### |