Skip to content

Commit 2f23d4b

Browse files
committed
ReleaseNotes: add lld/ELF notes
For the release/14.x branch. Differential Revision: https://reviews.llvm.org/D119318
1 parent 2a2286e commit 2f23d4b

File tree

1 file changed

+53
-5
lines changed

1 file changed

+53
-5
lines changed

lld/docs/ReleaseNotes.rst

Lines changed: 53 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,30 +30,78 @@ ELF Improvements
3030
(`D107317 <https://reviews.llvm.org/D107317>`_)
3131
* ``--why-extract`` has been added to query why archive members/lazy object files are extracted.
3232
(`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>`_)
3633
* If ``-Map`` is specified, ``--cref`` will be printed to the specified file.
3734
(`D114663 <https://reviews.llvm.org/D114663>`_)
35+
* ``-z bti-report`` and ``-z cet-report`` are now supported.
36+
(`D113901 <https://reviews.llvm.org/D113901>`_)
37+
* ``--lto-pgo-warn-mismatch`` has been added.
38+
(`D104431 <https://reviews.llvm.org/D104431>`_)
39+
* Archives without an index (symbol table) are now supported and work with
40+
``--warn-backrefs``. One may build such an archive with ``llvm-ar rcS
41+
[--thin]`` to save space.
42+
(`D117284 <https://reviews.llvm.org/D117284>`_)
43+
The archive index may be `entirely ignored <https://reviews.llvm.org/D119074>`
44+
in a future release.
3845
* No longer deduplicate local symbol names at the default optimization level of ``-O1``.
3946
This results in a larger ``.strtab`` (usually less than 1%) but a faster link
40-
time. Use optimization level ``-O2`` to restore the deduplication.
47+
time. Use optimization level ``-O2`` to restore the deduplication. The ``-O2``
48+
deduplication may be dropped in the future to help parallel ``.symtab`` write.
49+
* In relocatable output, relocations to discarded symbols now use tombstone
50+
values.
51+
(`D116946 <https://reviews.llvm.org/D116946>`_)
52+
* Orphan section placement now picks a more suitable segment. Previously the
53+
algorithm might pick a readonly segment for a writable orphan section and make
54+
the segment writable.
55+
(`D111717 <https://reviews.llvm.org/D111717>`_)
56+
* An empty output section moved by an ``INSERT`` comment now gets appropriate
57+
flags.
58+
(`D118529 <https://reviews.llvm.org/D118529>`_)
59+
* Negation in a memory region attribute is now correctly handled.
60+
(`D113771 <https://reviews.llvm.org/D113771>`_)
61+
* ``--compress-debug-sections=zlib`` is now run in parallel. ``{clang,gcc} -gz`` link
62+
actions are significantly faster.
63+
(`D117853 <https://reviews.llvm.org/D117853>`_)
64+
* "relocation out of range" diagnostics and a few uncommon diagnostics
65+
now report an object file location beside a source file location.
66+
(`D112518 <https://reviews.llvm.org/D117853>`_)
67+
* The write of ``.rela.dyn`` and ``SHF_MERGE|SHF_STRINGS`` sections (e.g.
68+
``.debug_str``) is now run in parallel.
4169

4270
Architecture specific changes:
4371

72+
* The AArch64 port now supports adrp+ldr and adrp+add optimizations.
73+
``--no-relax`` can suppress the optimization.
74+
(`D112063 <https://reviews.llvm.org/D112063>`_)
75+
(`D117614 <https://reviews.llvm.org/D117614>`_)
4476
* The x86-32 port now supports TLSDESC (``-mtls-dialect=gnu2``).
4577
(`D112582 <https://reviews.llvm.org/D112582>`_)
4678
* The x86-64 port now handles non-RAX/non-adjacent ``R_X86_64_GOTPC32_TLSDESC``
4779
and ``R_X86_64_TLSDESC_CALL`` (``-mtls-dialect=gnu2``).
4880
(`D114416 <https://reviews.llvm.org/D114416>`_)
81+
* The x86-32 and x86-64 ports now support mixed TLSDESC and TLS GD, i.e. mixing
82+
objects compiled with and without ``-mtls-dialect=gnu2`` referencing the same
83+
TLS variable is now supported.
84+
(`D114416 <https://reviews.llvm.org/D114416>`_)
4985
* For x86-64, ``--no-relax`` now suppresses ``R_X86_64_GOTPCRELX`` and
5086
``R_X86_64_REX_GOTPCRELX`` GOT optimization
5187
(`D113615 <https://reviews.llvm.org/D113615>`_)
88+
* ``R_X86_64_PLTOFF64`` is now supported.
89+
(`D112386 <https://reviews.llvm.org/D112386>`_)
90+
* ``R_AARCH64_NONE``, ``R_PPC_NONE``, and ``R_PPC64_NONE`` in input REL
91+
relocation sections are now supported.
5292

5393
Breaking changes
5494
----------------
5595

56-
* ...
96+
* ``e_entry`` no longer falls back to the address of ``.text`` if the entry symbol does not exist.
97+
Instead, a value of 0 will be written.
98+
(`D110014 <https://reviews.llvm.org/D110014>`_)
99+
* ``--lto-pseudo-probe-for-profiling`` has been removed. In LTO, the compiler
100+
enables this feature automatically.
101+
(`D110209 <https://reviews.llvm.org/D110209>`_)
102+
* Use of ``--[no-]define-common``, ``-d``, ``-dc``, and ``-dp`` will now get a
103+
warning. They will be removed or ignored in 15.0.0.
104+
(`llvm-project#53660 <https://github.com/llvm/llvm-project/issues/53660>`_)
57105

58106
COFF Improvements
59107
-----------------

0 commit comments

Comments
 (0)