[lld] 8a41327 - ReleaseNotes: add lld/ELF notes

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Sat Jul 6 18:03:44 PDT 2024


Author: Fangrui Song
Date: 2024-07-06T18:03:39-07:00
New Revision: 8a41327948e7611e851234782b8005d615c5c92c

URL: https://github.com/llvm/llvm-project/commit/8a41327948e7611e851234782b8005d615c5c92c
DIFF: https://github.com/llvm/llvm-project/commit/8a41327948e7611e851234782b8005d615c5c92c.diff

LOG: ReleaseNotes: add lld/ELF notes

Added: 
    

Modified: 
    lld/docs/ReleaseNotes.rst

Removed: 
    


################################################################################
diff  --git a/lld/docs/ReleaseNotes.rst b/lld/docs/ReleaseNotes.rst
index 12ea6de0fc15c4..c95170c1165b22 100644
--- a/lld/docs/ReleaseNotes.rst
+++ b/lld/docs/ReleaseNotes.rst
@@ -26,15 +26,21 @@ Non-comprehensive list of changes in this release
 ELF Improvements
 ----------------
 
+* ``EI_OSABI`` in the output is now inferred from input object files.
+  (`#97144 <https://github.com/llvm/llvm-project/pull/97144>`_)
 * ``--compress-sections <section-glib>={none,zlib,zstd}[:level]`` is added to compress
   matched output sections without the ``SHF_ALLOC`` flag.
   (`#84855 <https://github.com/llvm/llvm-project/pull/84855>`_)
   (`#90567 <https://github.com/llvm/llvm-project/pull/90567>`_)
 * The default compression level for zlib is now independent of linker
   optimization level (``Z_BEST_SPEED``).
+* zstd compression parallelism no longer requires ``ZSTD_MULITHREAD`` build.
 * ``GNU_PROPERTY_AARCH64_FEATURE_PAUTH`` notes, ``R_AARCH64_AUTH_ABS64`` and
   ``R_AARCH64_AUTH_RELATIVE`` relocations are now supported.
   (`#72714 <https://github.com/llvm/llvm-project/pull/72714>`_)
+* ``--no-allow-shlib-undefined`` now rejects non-exported definitions in the
+  ``def-hidden.so ref.so`` case.
+  (`#86777 <https://github.com/llvm/llvm-project/issues/86777>`_)
 * ``--debug-names`` is added to create a merged ``.debug_names`` index
   from input ``.debug_names`` sections. Type units are not handled yet.
   (`#86508 <https://github.com/llvm/llvm-project/pull/86508>`_)
@@ -44,6 +50,9 @@ ELF Improvements
   (typical for embedded). It also makes full LTO feasible in such cases, since
   IR merging currently prevents the linker script from referring to input
   files. (`#90007 <https://github.com/llvm/llvm-project/pull/90007>`_)
+* ``--default-script`/``-dT`` is implemented to specify a default script that is processed
+  if ``--script``/``-T`` is not specified.
+  (`#89327 <https://github.com/llvm/llvm-project/pull/89327>`_)
 * ``--force-group-allocation`` is implemented to discard ``SHT_GROUP`` sections
   and combine relocation sections if their relocated section group members are
   placed to the same output section.
@@ -51,6 +60,30 @@ ELF Improvements
 * ``--build-id`` now defaults to generating a 20-byte digest ("sha1") instead
   of 8-byte ("fast"). This improves compatibility with RPM packaging tools.
   (`#93943 <https://github.com/llvm/llvm-project/pull/93943>`_)
+* ``-z lrodata-after-bss`` is implemented to place ``.lrodata`` after ``.bss``.
+  (`#81224 <https://github.com/llvm/llvm-project/pull/81224>`_)
+* ``--export-dynamic`` no longer creates dynamic sections for ``-no-pie`` static linking.
+* ``--lto-emit-asm`` is now added as the canonical spelling of ``--plugin-opt=emit-llvm``.
+* ``--lto-emit-llvm`` now uses the pre-codegen module.
+  (`#97480 <https://github.com/llvm/llvm-project/pull/97480>`_)
+* When AArch64 PAuth is enabled, ``-z pack-relative-relocs`` now encodes ``R_AARCH64_AUTH_RELATIVE`` relocations in ``.rela.auth.dyn``.
+  (`#96496 <https://github.com/llvm/llvm-project/pull/96496>`_)
+* ``-z gcs`` and ``-z gcs-report`` are now supported for AArch64 Guarded Control Stack extension.
+* ``-r`` now forces ``-Bstatic``.
+* Thumb2 PLT is now supported for Cortex-M processors.
+  (`#93644 <https://github.com/llvm/llvm-project/pull/93644>`_)
+* ``DW_EH_sdata4`` of addresses larger than 0x80000000 is now supported for MIPS32.
+  (`#92438 <https://github.com/llvm/llvm-project/pull/92438>`_)
+* Certain unknown section types are rejected.
+  (`#85173 <https://github.com/llvm/llvm-project/pull/85173>`_)
+* ``PROVIDE(lhs = rhs) PROVIDE(rhs = ...)``, ``lhs`` is now defined only if ``rhs`` is needed.
+  (`#74771 <https://github.com/llvm/llvm-project/issues/74771>`_)
+  (`#87530 <https://github.com/llvm/llvm-project/pull/87530>`_)
+* Orphan placement is refined to prefer the last similar section when its rank <= orphan's rank.
+  (`#94099 <https://github.com/llvm/llvm-project/pull/94099>`_)
+  Non-alloc orphan sections are now placed at the end.
+  (`#94519 <https://github.com/llvm/llvm-project/pull/94519>`_)
+* R_X86_64_REX_GOTPCRELX of the addq form is no longer incorrectly optimized when the address is larger than 0x80000000.
 
 Breaking changes
 ----------------


        


More information about the llvm-commits mailing list