xref: /freebsd/contrib/llvm-project/lld/docs/ReleaseNotes.rst (revision 1fd87a682ad7442327078e1eeb63edc4258f9815)
1*1fd87a68SDimitry Andric===========================
2*1fd87a68SDimitry Andriclld |release| Release Notes
3*1fd87a68SDimitry Andric===========================
40b57cec5SDimitry Andric
50b57cec5SDimitry Andric.. contents::
60b57cec5SDimitry Andric    :local:
70b57cec5SDimitry Andric
8*1fd87a68SDimitry Andric.. only:: PreRelease
9*1fd87a68SDimitry Andric
10e8d8bef9SDimitry Andric  .. warning::
11*1fd87a68SDimitry Andric     These are in-progress notes for the upcoming LLVM |release| release.
12e8d8bef9SDimitry Andric     Release notes for previous releases can be found on
13e8d8bef9SDimitry Andric     `the Download Page <https://releases.llvm.org/download.html>`_.
14e8d8bef9SDimitry Andric
150b57cec5SDimitry AndricIntroduction
160b57cec5SDimitry Andric============
170b57cec5SDimitry Andric
18*1fd87a68SDimitry AndricThis document contains the release notes for the lld linker, release |release|.
1985868e8aSDimitry AndricHere we describe the status of lld, including major improvements
2085868e8aSDimitry Andricfrom the previous release. All lld releases may be downloaded
2185868e8aSDimitry Andricfrom the `LLVM releases web site <https://llvm.org/releases/>`_.
220b57cec5SDimitry Andric
230b57cec5SDimitry AndricNon-comprehensive list of changes in this release
240b57cec5SDimitry Andric=================================================
250b57cec5SDimitry Andric
260b57cec5SDimitry AndricELF Improvements
270b57cec5SDimitry Andric----------------
280b57cec5SDimitry Andric
29349cc55cSDimitry Andric* ``--export-dynamic-symbol-list`` has been added.
30349cc55cSDimitry Andric  (`D107317 <https://reviews.llvm.org/D107317>`_)
31349cc55cSDimitry Andric* ``--why-extract`` has been added to query why archive members/lazy object files are extracted.
32349cc55cSDimitry Andric  (`D109572 <https://reviews.llvm.org/D109572>`_)
33349cc55cSDimitry Andric* ``e_entry`` no longer falls back to the address of ``.text`` if the entry symbol does not exist.
34349cc55cSDimitry Andric  Instead, a value of 0 will be written.
35349cc55cSDimitry Andric  (`D110014 <https://reviews.llvm.org/D110014>`_)
360eae32dcSDimitry Andric* If ``-Map`` is specified, ``--cref`` will be printed to the specified file.
374824e7fdSDimitry Andric  (`D114663 <https://reviews.llvm.org/D114663>`_)
38*1fd87a68SDimitry Andric* No longer deduplicate local symbol names at the default optimization level of ``-O1``.
39*1fd87a68SDimitry Andric  This results in a larger ``.strtab`` (usually less than 1%) but a faster link
40*1fd87a68SDimitry Andric  time. Use optimization level ``-O2`` to restore the deduplication.
416e75b2fbSDimitry Andric
426e75b2fbSDimitry AndricArchitecture specific changes:
436e75b2fbSDimitry Andric
44349cc55cSDimitry Andric* The x86-32 port now supports TLSDESC (``-mtls-dialect=gnu2``).
45349cc55cSDimitry Andric  (`D112582 <https://reviews.llvm.org/D112582>`_)
464824e7fdSDimitry Andric* The x86-64 port now handles non-RAX/non-adjacent ``R_X86_64_GOTPC32_TLSDESC``
474824e7fdSDimitry Andric  and ``R_X86_64_TLSDESC_CALL`` (``-mtls-dialect=gnu2``).
484824e7fdSDimitry Andric  (`D114416 <https://reviews.llvm.org/D114416>`_)
49349cc55cSDimitry Andric* For x86-64, ``--no-relax`` now suppresses ``R_X86_64_GOTPCRELX`` and
50349cc55cSDimitry Andric  ``R_X86_64_REX_GOTPCRELX`` GOT optimization
51349cc55cSDimitry Andric  (`D113615 <https://reviews.llvm.org/D113615>`_)
5213138422SDimitry Andric
538c27c554SDimitry AndricBreaking changes
548c27c554SDimitry Andric----------------
5513138422SDimitry Andric
56349cc55cSDimitry Andric* ...
570b57cec5SDimitry Andric
585ffd83dbSDimitry AndricCOFF Improvements
595ffd83dbSDimitry Andric-----------------
605ffd83dbSDimitry Andric
61349cc55cSDimitry Andric* ...
620b57cec5SDimitry Andric
630b57cec5SDimitry AndricMinGW Improvements
640b57cec5SDimitry Andric------------------
650b57cec5SDimitry Andric
66349cc55cSDimitry Andric* ...
67e8d8bef9SDimitry Andric
68349cc55cSDimitry AndricMachO Improvements
69349cc55cSDimitry Andric------------------
70e8d8bef9SDimitry Andric
71349cc55cSDimitry Andric* Item 1.
72e8d8bef9SDimitry Andric
73e8d8bef9SDimitry AndricWebAssembly Improvements
74e8d8bef9SDimitry Andric------------------------
75e8d8bef9SDimitry Andric
76