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