xref: /freebsd/contrib/llvm-project/lld/docs/ReleaseNotes.rst (revision 753f127f3ace09432b2baeffd71a308760641a62)
11fd87a68SDimitry Andric===========================
21fd87a68SDimitry Andriclld |release| Release Notes
31fd87a68SDimitry Andric===========================
40b57cec5SDimitry Andric
50b57cec5SDimitry Andric.. contents::
60b57cec5SDimitry Andric    :local:
70b57cec5SDimitry Andric
81fd87a68SDimitry Andric.. only:: PreRelease
91fd87a68SDimitry Andric
10e8d8bef9SDimitry Andric  .. warning::
111fd87a68SDimitry 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
181fd87a68SDimitry 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
2981ad6265SDimitry Andric* ``-z pack-relative-relocs`` is now available to support ``DT_RELR`` for glibc 2.36+.
3081ad6265SDimitry Andric  (`D120701 <https://reviews.llvm.org/D120701>`_)
3181ad6265SDimitry Andric* ``--no-fortran-common`` (pre 12.0.0 behavior) is now the default.
32*753f127fSDimitry Andric* ``FORCE_LLD_DIAGNOSTICS_CRASH`` environment variable is now available to force LLD to crash.
33*753f127fSDimitry Andric  (`D128195 <https://reviews.llvm.org/D128195>`_)
3413138422SDimitry Andric
358c27c554SDimitry AndricBreaking changes
368c27c554SDimitry Andric----------------
3713138422SDimitry Andric
3881ad6265SDimitry Andric* The GNU ld incompatible ``--no-define-common`` has been removed.
3981ad6265SDimitry Andric* The obscure ``-dc``/``-dp`` options have been removed.
4081ad6265SDimitry Andric* ``-d`` is now ignored.
4181ad6265SDimitry Andric* If a prevailing COMDAT group defines STB_WEAK symbol, having a STB_GLOBAL symbol in a non-prevailing group is now rejected with a diagnostic.
4281ad6265SDimitry Andric  (`D120626 <https://reviews.llvm.org/D120626>`_)
4381ad6265SDimitry Andric* Support for the legacy ``.zdebug`` format has been removed. Run
4481ad6265SDimitry Andric  ``objcopy --decompress-debug-sections`` in case old object files use ``.zdebug``.
4581ad6265SDimitry Andric  (`D126793 <https://reviews.llvm.org/D126793>`_)
4681ad6265SDimitry Andric* ``--time-trace-file=<file>`` has been removed.
4781ad6265SDimitry Andric  Use ``--time-trace=<file>`` instead.
4881ad6265SDimitry Andric  (`D128451 <https://reviews.llvm.org/D128451>`_)
490b57cec5SDimitry Andric
505ffd83dbSDimitry AndricCOFF Improvements
515ffd83dbSDimitry Andric-----------------
525ffd83dbSDimitry Andric
5381ad6265SDimitry Andric* Added autodetection of MSVC toolchain, a la clang-cl.  Also added
5481ad6265SDimitry Andric  ``/winsysroot:`` support for explicit specification of MSVC toolchain
5581ad6265SDimitry Andric  location, similar to clang-cl's ``/winsysroot``. For now,
5681ad6265SDimitry Andric  ``/winsysroot:`` requires also passing in an explicit ``/machine:`` flag.
5781ad6265SDimitry Andric  (`D118070 <https://reviews.llvm.org/D118070>`_)
5881ad6265SDimitry Andric* ...
590b57cec5SDimitry Andric
600b57cec5SDimitry AndricMinGW Improvements
610b57cec5SDimitry Andric------------------
620b57cec5SDimitry Andric
6381ad6265SDimitry Andric* ...
64e8d8bef9SDimitry Andric
6581ad6265SDimitry AndricMachO Improvements
6681ad6265SDimitry Andric------------------
67e8d8bef9SDimitry Andric
68*753f127fSDimitry Andric* We now support proper relocation and pruning of EH frames. **Note:** this
69*753f127fSDimitry Andric  comes at some performance overhead on x86_64 builds, and we recommend adding
70*753f127fSDimitry Andric  the ``-femit-compact-unwind=no-compact-unwind`` compile flag to avoid it.
71*753f127fSDimitry Andric  (`D129540 <https://reviews.llvm.org/D129540>`_,
72*753f127fSDimitry Andric  `D122258 <https://reviews.llvm.org/D122258>`_)
73e8d8bef9SDimitry Andric
74e8d8bef9SDimitry AndricWebAssembly Improvements
75e8d8bef9SDimitry Andric------------------------
76e8d8bef9SDimitry Andric
77