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...@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...@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>`_) _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits