Skip to content

Commit e705da0

Browse files
committed
[lld][ELF] Add some release notes
Reviewed By: hans Differential Revision: https://reviews.llvm.org/D75216
1 parent 7af6fea commit e705da0

File tree

1 file changed

+53
-1
lines changed

1 file changed

+53
-1
lines changed

lld/docs/ReleaseNotes.rst

Lines changed: 53 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,60 @@ ELF Improvements
3535

3636
* Relax MIPS ``jalr``and ``jr`` instructions marked by the ``R_MIPS_JALR``
3737
relocation.
38+
* For certain "undefined symbol" errors, a definition with a close spelling will be suggested.
39+
(`D67039 <https://reviews.llvm.org/D67039>`_)
40+
* ``extern "C"`` is suggested if an undefined reference is mangled(unmangled) while there
41+
is a likely unmangled(mangled) definition.
42+
(`D69592 <https://reviews.llvm.org/D69592>`_ `D69650 <https://reviews.llvm.org/D69650>`_)
43+
* New ``-z noseparate-code``, ``-z separate-code`` and ``-z separate-loadable-segments``.
44+
``-z noseparate-code`` is the default, which can reduce sizes of linked binaries by up to
45+
3 times maxpagesize.
46+
(`D64903 <https://reviews.llvm.org/D64903>`_ `D67481 <https://reviews.llvm.org/D67481>`_)
47+
* ``-z force-bti`` and ``-z pac-plt`` are added for AArch64 Branch Target Identification and Pointer Authentication.
48+
(`D62609 <https://reviews.llvm.org/D62609>`_)
49+
* ``--fix-cortex-a8`` is added to fix erratum 657417.
50+
(`D67284 <https://reviews.llvm.org/D67284>`_)
51+
* ``-z force-ibt`` and ``-z shstk`` are added for Intel Control-flow Enforcement Technology.
52+
(`D59780 <https://reviews.llvm.org/D59780>`_)
53+
* ``PT_GNU_PROPERTY`` is added to help loaders locate the ``.note.gnu.property`` section.
54+
It may be used by a future Linux kernel.
55+
(`D70961 <https://reviews.llvm.org/D70961>`_)
56+
* For ``--compress-debug-sections=zlib``, ``-O0`` and ``-O1`` enable compression level 1
57+
while ``-O2`` enables compression level 6. ``-O1`` (default) is faster than before.
58+
(`D70658 <https://reviews.llvm.org/D70658>`_)
59+
* Range extension thunks with addends are implemented for AArch64, PowerPC32 and PowerPC64.
60+
(`D70637 <https://reviews.llvm.org/D70637>`_ `D70937 <https://reviews.llvm.org/D70937>`_
61+
`D73424 <https://reviews.llvm.org/D73424>`_)
62+
* ``R_RISCV_ALIGN`` will be errored because linker relaxation for RISC-V is not supported.
63+
Pass ``-mno-relax`` to disable ``R_RISCV_ALIGN``.
64+
(`D71820 <https://reviews.llvm.org/D71820>`_)
65+
* The ARM port will no longer insert interworking thunks for non STT_FUNC symbols.
66+
(`D73474 <https://reviews.llvm.org/D73474>`_)
67+
* The quality of PowerPC32 port has been greatly improved (canonical PLT, copy
68+
relocations, non-preemptible IFUNC, range extension thunks with addends).
69+
It can link FreeBSD 13.0 userland.
70+
* The PowerPC64 port supports non-preemptible IFUNC.
71+
(`D71509 <https://reviews.llvm.org/D71509>`_)
72+
* lld creates a RO PT_LOAD and a RX PT_LOAD without a linker script.
73+
lld creates a unified RX PT_LOAD with a linker script.
74+
A future release will eliminate this difference and use a RO PT_LOAD and a RX PT_LOAD by default.
75+
The linker script case will require ``--no-rosegment`` to restore the current behavior.
76+
* GNU style compressed debug sections ``.zdebug`` (obsoleted by ``SHF_COMPRESSED``)
77+
are supported for input files, but not for the output.
78+
A future release may drop ``.zdebug`` support.
79+
80+
Breaking changes
81+
----------------
3882

39-
* Reduced size of linked MIPS binaries.
83+
* ``-Ttext=$base`` (base is usually 0) is no longer supported.
84+
If PT_PHDR is needed, use ``--image-base=$base`` instead.
85+
If PT_PHDR is not needed, use a linker script with `.text 0 : { *(.text*) }` as the first
86+
output section description.
87+
See https://bugs.llvm.org/show_bug.cgi?id=44715 for more information.
88+
(`D67325 <https://reviews.llvm.org/D67325>`_)
89+
* ``-Ttext-segment`` is no longer supported. Its meaning was different from GNU ld's and
90+
could cause subtle bugs.
91+
(`D70468 <https://reviews.llvm.org/D70468>`_)
4092

4193
COFF Improvements
4294
-----------------

0 commit comments

Comments
 (0)