[llvm-branch-commits] [lld] ReleaseNotes: add lld/ELF notes (PR #80393)
Fangrui Song via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Feb 2 12:58:48 PST 2024
https://github.com/MaskRay updated https://github.com/llvm/llvm-project/pull/80393
>From fc64e65d2af33f237a16c55d2730bd615157213c Mon Sep 17 00:00:00 2001
From: Fangrui Song <i at maskray.me>
Date: Thu, 1 Feb 2024 22:04:49 -0800
Subject: [PATCH 1/2] ReleaseNotes: add lld/ELF notes
---
lld/docs/ReleaseNotes.rst | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/lld/docs/ReleaseNotes.rst b/lld/docs/ReleaseNotes.rst
index 01669543cd50c..824cc6f56f8d5 100644
--- a/lld/docs/ReleaseNotes.rst
+++ b/lld/docs/ReleaseNotes.rst
@@ -29,8 +29,42 @@ ELF Improvements
* ``--fat-lto-objects`` option is added to support LLVM FatLTO.
Without ``--fat-lto-objects``, LLD will link LLVM FatLTO objects using the
relocatable object file. (`D146778 <https://reviews.llvm.org/D146778>`_)
+* ``-Bsymbolic-non-weak`` is added to directly bind non-weak definitions.
+ (`D158322 <https://reviews.llvm.org/D158322>`_)
+* ``--lto-validate-all-vtables-have-type-infos``, which complements
+ ``--lto-whole-program-visibility``, is added to disable unsafe whole-program
+ devirtualization. ``--lto-known-safe-vtables=<glob>`` can be used
+ to mark known-safe vtable symbols.
+ (`D155659 <https://reviews.llvm.org/D155659>`_)
+* ``--no-allow-shlib-undefined`` now reports errors for DSO referencing
+ non-exported definitions.
+ (`#70769 <https://github.com/llvm/llvm-project/pull/70769>`_)
* common-page-size can now be larger than the system page-size.
(`#57618 <https://github.com/llvm/llvm-project/issues/57618>`_)
+* When call graph profile information is availablue due to instrumentation or
+ sample PGO, input sections are now sorted using the new ``cdsort`` algorithm,
+ better than the previous ``hfsort`` algorithm.
+ (`D152840 <https://reviews.llvm.org/D152840>`_)
+* Symbol assignments like ``a = DEFINED(a) ? a : 0;`` are now handled.
+ (`#65866 <https://github.com/llvm/llvm-project/pull/65866>`_)
+* ``OVERLAY`` now supports optional start address and LMA
+ (`#77272 <https://github.com/llvm/llvm-project/pull/77272>`_)
+* Relocations referencing a symbol defined in ``/DISCARD/`` section now lead to
+ an error.
+ (`#69295 <https://github.com/llvm/llvm-project/pull/69295>`_)
+* For AArch64 MTE, global variable descriptors have been implemented.
+ (`D152921 <https://reviews.llvm.org/D152921>`_)
+* ``R_LARCH_PCREL20_S2``/``R_LARCH_ADD6``/``R_LARCH_CALL36`` and extreme code
+ model relocations are now supported.
+* ``--emit-relocs`` is now supported for RISC-V linker relaxation.
+ (`D159082 <https://reviews.llvm.org/D159082>`_)
+* Call relaxation respects RVC when mixing +c and -c relocatable files.
+ (`#73977 <https://github.com/llvm/llvm-project/pull/73977>`_)
+* ``R_RISCV_SET_ULEB128``/``R_RISCV_SUB_ULEB128`` relocations are now supported.
+ (`#72610 <https://github.com/llvm/llvm-project/pull/72610>`_)
+ (`#77261 <https://github.com/llvm/llvm-project/pull/77261>`_)
+* RISC-V TLSDESC is now supported.
+ (`#79239 <https://github.com/llvm/llvm-project/pull/79239>`_)
Breaking changes
----------------
>From d35cb97c6c2552ea0e20842c0e65fa2dec44bd9a Mon Sep 17 00:00:00 2001
From: Fangrui Song <i at maskray.me>
Date: Fri, 2 Feb 2024 12:58:10 -0800
Subject: [PATCH 2/2] add more entries
---
lld/docs/ReleaseNotes.rst | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/lld/docs/ReleaseNotes.rst b/lld/docs/ReleaseNotes.rst
index 824cc6f56f8d5..21a075ad8c4ef 100644
--- a/lld/docs/ReleaseNotes.rst
+++ b/lld/docs/ReleaseNotes.rst
@@ -36,12 +36,16 @@ ELF Improvements
devirtualization. ``--lto-known-safe-vtables=<glob>`` can be used
to mark known-safe vtable symbols.
(`D155659 <https://reviews.llvm.org/D155659>`_)
+* ``--save-temps --lto-emit-asm`` now derives ELF/asm file names from bitcode file names.
+ ``ld.lld --save-temps a.o d/b.o -o out`` will create ELF relocatable files
+ ``out.lto.a.o``/``d/out.lto.b.o`` instead of ``out1.lto.o``/``out2.lto.o``.
+ (`#78835 <https://github.com/llvm/llvm-project/pull/78835>`_)
* ``--no-allow-shlib-undefined`` now reports errors for DSO referencing
non-exported definitions.
(`#70769 <https://github.com/llvm/llvm-project/pull/70769>`_)
* common-page-size can now be larger than the system page-size.
(`#57618 <https://github.com/llvm/llvm-project/issues/57618>`_)
-* When call graph profile information is availablue due to instrumentation or
+* When call graph profile information is available due to instrumentation or
sample PGO, input sections are now sorted using the new ``cdsort`` algorithm,
better than the previous ``hfsort`` algorithm.
(`D152840 <https://reviews.llvm.org/D152840>`_)
@@ -54,12 +58,16 @@ ELF Improvements
(`#69295 <https://github.com/llvm/llvm-project/pull/69295>`_)
* For AArch64 MTE, global variable descriptors have been implemented.
(`D152921 <https://reviews.llvm.org/D152921>`_)
+* ``R_AARCH64_GOTPCREL32`` is now supported.
+ (`#72584 <https://github.com/llvm/llvm-project/pull/72584>`_)
* ``R_LARCH_PCREL20_S2``/``R_LARCH_ADD6``/``R_LARCH_CALL36`` and extreme code
model relocations are now supported.
* ``--emit-relocs`` is now supported for RISC-V linker relaxation.
(`D159082 <https://reviews.llvm.org/D159082>`_)
* Call relaxation respects RVC when mixing +c and -c relocatable files.
(`#73977 <https://github.com/llvm/llvm-project/pull/73977>`_)
+* ``R_RISCV_GOT32_PCREL`` is now supported.
+ (`#72587 <https://github.com/llvm/llvm-project/pull/72587>`_)
* ``R_RISCV_SET_ULEB128``/``R_RISCV_SUB_ULEB128`` relocations are now supported.
(`#72610 <https://github.com/llvm/llvm-project/pull/72610>`_)
(`#77261 <https://github.com/llvm/llvm-project/pull/77261>`_)
More information about the llvm-branch-commits
mailing list