[lld] 8983b22 - ReleaseNotes: add lld/ELF notes

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Sun Jul 13 23:24:19 PDT 2025


Author: Fangrui Song
Date: 2025-07-13T23:24:14-07:00
New Revision: 8983b22ca1026156da1039263398c6540f4eee98

URL: https://github.com/llvm/llvm-project/commit/8983b22ca1026156da1039263398c6540f4eee98
DIFF: https://github.com/llvm/llvm-project/commit/8983b22ca1026156da1039263398c6540f4eee98.diff

LOG: ReleaseNotes: add lld/ELF notes

Move linker script changes to the middle and target-specific
options/behavior changes to the end.

Added: 
    

Modified: 
    lld/docs/ReleaseNotes.rst

Removed: 
    


################################################################################
diff  --git a/lld/docs/ReleaseNotes.rst b/lld/docs/ReleaseNotes.rst
index dabfc961dd5ba..69ed57d67615c 100644
--- a/lld/docs/ReleaseNotes.rst
+++ b/lld/docs/ReleaseNotes.rst
@@ -28,43 +28,51 @@ ELF Improvements
 * Added ``-z dynamic-undefined-weak`` to make undefined weak symbols dynamic
   when the dynamic symbol table is present.
   (`#143831 <https://github.com/llvm/llvm-project/pull/143831>`_)
-
-* For AArch64, added support for ``-zgcs-report-dynamic``, enabling checks for
-  GNU GCS Attribute Flags in Dynamic Objects when GCS is enabled. Inherits value
-  from ``-zgcs-report`` (capped at ``warning`` level) unless user-defined,
-  ensuring compatibility with GNU ld linker.
-
-* The default Hexagon architecture version in ELF object files produced by
-  lld is changed to v68. This change is only effective when the version is
-  not provided in the command line by the user and cannot be inferred from
-  inputs.
-
+* For ``-z undefs`` (default for ``-shared``), relocations referencing undefined
+  strong symbols now behave like relocations referencing undefined weak symbols.
 * ``--why-live=<glob>`` prints for each symbol matching ``<glob>`` a chain of
   items that kept it live during garbage collection. This is inspired by the
   Mach-O LLD feature of the same name.
+* ``--thinlto-distributor=`` and ``--thinlto-remote-compiler=`` options are
+  added to support Integrated Distributed ThinLTO.
+  (`#142757 <https://github.com/llvm/llvm-project/pull/142757>`_)
 
 * Linker script ``OVERLAY`` descriptions now support virtual memory regions
   (e.g. ``>region``) and ``NOCROSSREFS``.
-
-* Added ``--xosegment`` and ``--no-xosegment`` flags to control whether to place
-  executable-only and readable-executable sections in the same segment. The
-  default value is ``--no-xosegment``.
+* When the last ``PT_LOAD`` segment is executable and includes BSS sections,
+  its ``p_memsz`` member is now correct.
+  (`#139207 <https://github.com/llvm/llvm-project/pull/139207>`_)
+* Spurious ``ASSERT`` errors before the layout converges are now fixed.
+
+* For ARM and AArch64, ``--xosegment`` and ``--no-xosegment`` control whether
+  to place executable-only and readable-executable sections in the same
+  segment. The default option is ``--no-xosegment``.
   (`#132412 <https://github.com/llvm/llvm-project/pull/132412>`_)
-
 * For AArch64, added support for the ``SHF_AARCH64_PURECODE`` section flag,
   which indicates that the section only contains program code and no data.
   An output section will only have this flag set if all input sections also
   have it set. (`#125689 <https://github.com/llvm/llvm-project/pull/125689>`_,
   `#134798 <https://github.com/llvm/llvm-project/pull/134798>`_)
-
 * For AArch64 and ARM, added ``-zexecute-only-report``, which checks for
   missing ``SHF_AARCH64_PURECODE`` and ``SHF_ARM_PURECODE`` section flags
   on executable sections.
   (`#128883 <https://github.com/llvm/llvm-project/pull/128883>`_)
-
+* For AArch64, ``-z nopac-plt`` has been added.
 * For AArch64 and X86_64, added ``--branch-to-branch``, which rewrites branches
   that point to another branch instruction to instead branch directly to the
   target of the second instruction. Enabled by default at ``-O2``.
+* For AArch64, added support for ``-zgcs-report-dynamic``, enabling checks for
+  GNU GCS Attribute Flags in Dynamic Objects when GCS is enabled. Inherits value
+  from ``-zgcs-report`` (capped at ``warning`` level) unless user-defined,
+  ensuring compatibility with GNU ld linker.
+* The default Hexagon architecture version in ELF object files produced by
+  lld is changed to v68. This change is only effective when the version is
+  not provided in the command line by the user and cannot be inferred from
+  inputs.
+* For LoongArch, the initial-exec to local-exec TLS optimization has been implemented.
+* For RISCV, an oscillation bug due to call relaxation is now fixed.
+  (`#142899 <https://github.com/llvm/llvm-project/pull/142899>`_)
+* For x86-64, the ``.ltext`` section is now placed before ``.rodata``.
   
 Breaking changes
 ----------------


        


More information about the llvm-commits mailing list