xref: /freebsd-src/contrib/llvm-project/lld/docs/ReleaseNotes.rst (revision 1838bd0f4839006b42d41a02a787b7f578655223)
1===========================
2lld |release| Release Notes
3===========================
4
5.. contents::
6    :local:
7
8.. only:: PreRelease
9
10  .. warning::
11     These are in-progress notes for the upcoming LLVM |release| release.
12     Release notes for previous releases can be found on
13     `the Download Page <https://releases.llvm.org/download.html>`_.
14
15Introduction
16============
17
18This document contains the release notes for the lld linker, release |release|.
19Here we describe the status of lld, including major improvements
20from the previous release. All lld releases may be downloaded
21from the `LLVM releases web site <https://llvm.org/releases/>`_.
22
23Non-comprehensive list of changes in this release
24=================================================
25
26ELF Improvements
27----------------
28
29* ``--export-dynamic-symbol-list`` has been added.
30  (`D107317 <https://reviews.llvm.org/D107317>`_)
31* ``--why-extract`` has been added to query why archive members/lazy object files are extracted.
32  (`D109572 <https://reviews.llvm.org/D109572>`_)
33* ``e_entry`` no longer falls back to the address of ``.text`` if the entry symbol does not exist.
34  Instead, a value of 0 will be written.
35  (`D110014 <https://reviews.llvm.org/D110014>`_)
36* If ``-Map`` is specified, ``--cref`` will be printed to the specified file.
37  (`D114663 <https://reviews.llvm.org/D114663>`_)
38* No longer deduplicate local symbol names at the default optimization level of ``-O1``.
39  This results in a larger ``.strtab`` (usually less than 1%) but a faster link
40  time. Use optimization level ``-O2`` to restore the deduplication.
41
42Architecture specific changes:
43
44* The x86-32 port now supports TLSDESC (``-mtls-dialect=gnu2``).
45  (`D112582 <https://reviews.llvm.org/D112582>`_)
46* The x86-64 port now handles non-RAX/non-adjacent ``R_X86_64_GOTPC32_TLSDESC``
47  and ``R_X86_64_TLSDESC_CALL`` (``-mtls-dialect=gnu2``).
48  (`D114416 <https://reviews.llvm.org/D114416>`_)
49* For x86-64, ``--no-relax`` now suppresses ``R_X86_64_GOTPCRELX`` and
50  ``R_X86_64_REX_GOTPCRELX`` GOT optimization
51  (`D113615 <https://reviews.llvm.org/D113615>`_)
52
53Breaking changes
54----------------
55
56* ...
57
58COFF Improvements
59-----------------
60
61* ...
62
63MinGW Improvements
64------------------
65
66* ...
67
68MachO Improvements
69------------------
70
71* Item 1.
72
73WebAssembly Improvements
74------------------------
75
76