Skip to content

Commit 33aec02

Browse files
MaskRaytstellar
authored andcommitted
ReleaseNotes: add lld/ELF notes (llvm#80393)
1 parent e50a204 commit 33aec02

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

lld/docs/ReleaseNotes.rst

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,50 @@ ELF Improvements
2929
* ``--fat-lto-objects`` option is added to support LLVM FatLTO.
3030
Without ``--fat-lto-objects``, LLD will link LLVM FatLTO objects using the
3131
relocatable object file. (`D146778 <https://reviews.llvm.org/D146778>`_)
32+
* ``-Bsymbolic-non-weak`` is added to directly bind non-weak definitions.
33+
(`D158322 <https://reviews.llvm.org/D158322>`_)
34+
* ``--lto-validate-all-vtables-have-type-infos``, which complements
35+
``--lto-whole-program-visibility``, is added to disable unsafe whole-program
36+
devirtualization. ``--lto-known-safe-vtables=<glob>`` can be used
37+
to mark known-safe vtable symbols.
38+
(`D155659 <https://reviews.llvm.org/D155659>`_)
39+
* ``--save-temps --lto-emit-asm`` now derives ELF/asm file names from bitcode file names.
40+
``ld.lld --save-temps a.o d/b.o -o out`` will create ELF relocatable files
41+
``out.lto.a.o``/``d/out.lto.b.o`` instead of ``out1.lto.o``/``out2.lto.o``.
42+
(`#78835 <https://github.com/llvm/llvm-project/pull/78835>`_)
43+
* ``--no-allow-shlib-undefined`` now reports errors for DSO referencing
44+
non-exported definitions.
45+
(`#70769 <https://github.com/llvm/llvm-project/pull/70769>`_)
3246
* common-page-size can now be larger than the system page-size.
3347
(`#57618 <https://github.com/llvm/llvm-project/issues/57618>`_)
48+
* When call graph profile information is available due to instrumentation or
49+
sample PGO, input sections are now sorted using the new ``cdsort`` algorithm,
50+
better than the previous ``hfsort`` algorithm.
51+
(`D152840 <https://reviews.llvm.org/D152840>`_)
52+
* Symbol assignments like ``a = DEFINED(a) ? a : 0;`` are now handled.
53+
(`#65866 <https://github.com/llvm/llvm-project/pull/65866>`_)
54+
* ``OVERLAY`` now supports optional start address and LMA
55+
(`#77272 <https://github.com/llvm/llvm-project/pull/77272>`_)
56+
* Relocations referencing a symbol defined in ``/DISCARD/`` section now lead to
57+
an error.
58+
(`#69295 <https://github.com/llvm/llvm-project/pull/69295>`_)
59+
* For AArch64 MTE, global variable descriptors have been implemented.
60+
(`D152921 <https://reviews.llvm.org/D152921>`_)
61+
* ``R_AARCH64_GOTPCREL32`` is now supported.
62+
(`#72584 <https://github.com/llvm/llvm-project/pull/72584>`_)
63+
* ``R_LARCH_PCREL20_S2``/``R_LARCH_ADD6``/``R_LARCH_CALL36`` and extreme code
64+
model relocations are now supported.
65+
* ``--emit-relocs`` is now supported for RISC-V linker relaxation.
66+
(`D159082 <https://reviews.llvm.org/D159082>`_)
67+
* Call relaxation respects RVC when mixing +c and -c relocatable files.
68+
(`#73977 <https://github.com/llvm/llvm-project/pull/73977>`_)
69+
* ``R_RISCV_GOT32_PCREL`` is now supported.
70+
(`#72587 <https://github.com/llvm/llvm-project/pull/72587>`_)
71+
* ``R_RISCV_SET_ULEB128``/``R_RISCV_SUB_ULEB128`` relocations are now supported.
72+
(`#72610 <https://github.com/llvm/llvm-project/pull/72610>`_)
73+
(`#77261 <https://github.com/llvm/llvm-project/pull/77261>`_)
74+
* RISC-V TLSDESC is now supported.
75+
(`#79239 <https://github.com/llvm/llvm-project/pull/79239>`_)
3476

3577
Breaking changes
3678
----------------

0 commit comments

Comments
 (0)