https://discourse.llvm.org/t/parallel-input-file-parsing/60164 initializeSymbols currently sets Defined::section and handles non-prevailing COMDAT groups. Move the code to the parallel postParse to reduce work from the single-threading code path and make parallel section initialization infeasible. Postpone reporting duplicate symbol errors so that the messages have the section information. (`Defined::section` is assigned in postParse and another thread may not have the information). * duplicated-synthetic-sym.s: BinaryFile duplicate definition (very rare) now has no section information * comdat-binding: `%t/w.o %t/g.o` leads to an undesired undefined symbol. This is not ideal but we report a diagnostic to inform that this is unsupported. (See release note) * comdat-discarded-lazy.s: %tdef.o is unextracted. The new behavior (discarded section error) makes more sense * i386-comdat.s: switched to a better approach working around .gnu.linkonce.t.__x86.get_pc_thunk.bx in glibc<2.32 for x86-32. Drop the ancient no-longer-relevant workaround for __i686.get_pc_thunk.bx Depends on D120640 Differential Revision: https://reviews.llvm.org/D120626
62 lines
1.6 KiB
ReStructuredText
62 lines
1.6 KiB
ReStructuredText
===========================
|
|
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
|
|
----------------
|
|
|
|
* ``-z pack-relative-relocs`` is now available to support ``DT_RELR`` for glibc 2.36+.
|
|
(`D120701 <https://reviews.llvm.org/D120701>`_)
|
|
|
|
Breaking changes
|
|
----------------
|
|
|
|
* The GNU ld incompatible ``--no-define-common`` has been removed.
|
|
* The obscure ``-dc``/``-dp`` options have been removed.
|
|
* ``-d`` is now ignored.
|
|
* 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.
|
|
(`D120626 <https://reviews.llvm.org/D120626>`_)
|
|
|
|
COFF Improvements
|
|
-----------------
|
|
|
|
* Added autodetection of MSVC toolchain, a la clang-cl. Also added /winsysroot
|
|
support for explicit specification of MSVC toolchain location.
|
|
(`D118070 <https://reviews.llvm.org/D118070>`_)
|
|
* ...
|
|
|
|
MinGW Improvements
|
|
------------------
|
|
|
|
* ...
|
|
|
|
MachO Improvements
|
|
------------------
|
|
|
|
* Item 1.
|
|
|
|
WebAssembly Improvements
|
|
------------------------
|
|
|